diff --git a/backend/orders/models.py b/backend/orders/models.py index 7ad6a67..88c1006 100644 --- a/backend/orders/models.py +++ b/backend/orders/models.py @@ -10,7 +10,7 @@ class Order(models.Model): customerId = models.IntegerField(null=False, blank=False) name = models.CharField(max_length=100, null=False, blank=False) description = models.CharField(max_length=1000, null=True, blank=True, default='') - expectedDeliveryTime = models.TimeField(null=False, blank=False) + expectedDeliveryTime = models.CharField(max_length=50, null=False, blank=False) status = models.CharField(max_length=1, choices=STATUS, null=False, blank=False) weight = models.DecimalField(decimal_places=2, max_digits=1000, null=False, blank=False) cost = models.IntegerField(null=False, blank=False) diff --git a/backend/orders/serializers.py b/backend/orders/serializers.py index 3765307..d728518 100644 --- a/backend/orders/serializers.py +++ b/backend/orders/serializers.py @@ -7,7 +7,7 @@ class OrderSerializer(serializers.Serializer): customerId = serializers.IntegerField() name = serializers.CharField(max_length=100) description = serializers.CharField(max_length=1000) - expectedDeliveryTime = serializers.TimeField() + expectedDeliveryTime = serializers.CharField(max_length=50) status = serializers.CharField(max_length=1) weight = serializers.DecimalField(decimal_places=2, max_digits=1000) cost = serializers.IntegerField() diff --git a/backend/tests/test_models.py b/backend/tests/test_models.py index 6b13186..35771be 100644 --- a/backend/tests/test_models.py +++ b/backend/tests/test_models.py @@ -8,7 +8,7 @@ class DeliveryModelTest(TestCase): @classmethod def setUpTestData(cls): - Delivery.objects.create(customerId=1, angelId=23, orderId=2, estimatedTime='20:00', + Delivery.objects.create(customerId=1, angelId=23, orderId=2, customerConfirmation=True, angelConfirmation=True) def test_customer_id_label(self): @@ -26,11 +26,6 @@ def test_order_id_label(self): field_label = delivery._meta.get_field('orderId').verbose_name self.assertEquals(field_label, 'orderId') - def test_estimated_time_label(self): - delivery = Delivery.objects.get(id=1) - field_label = delivery._meta.get_field('estimatedTime').verbose_name - self.assertEquals(field_label, 'estimatedTime') - def test_customer_confirmation_label(self): delivery = Delivery.objects.get(id=1) field_label = delivery._meta.get_field('customerConfirmation').verbose_name @@ -77,7 +72,7 @@ class OrderModelTest(TestCase): @classmethod def setUpTestData(cls): Order.objects.create(customerId=12, name='Del', description='seven years bad luck', - expectedDeliveryTime='04:00', status='0', weight='100', cost='100', + expectedDeliveryTime='04:00:00', status='0', weight='100', cost='100', fee='50', address='Inno basement', possibleAngelsIds=[123, 456], picture='https://qwerty.com') @@ -141,6 +136,11 @@ def test_name_max_length(self): max_length = order._meta.get_field('name').max_length self.assertEquals(max_length, 100) + def test_time_max_length(self): + order = Order.objects.get(id=1) + max_length = order._meta.get_field('expectedDeliveryTime').max_length + self.assertEquals(max_length, 50) + def test_description_max_length(self): order = Order.objects.get(id=1) max_length = order._meta.get_field('description').max_length diff --git a/backend/tests/test_views.py b/backend/tests/test_views.py index f47cf5a..4710a99 100644 --- a/backend/tests/test_views.py +++ b/backend/tests/test_views.py @@ -9,10 +9,14 @@ class DeliveryViewTest(TestCase): @classmethod def setUpTestData(cls): - number_of_delivery = 13 + User.objects.create(token='123', passwordMd5hash='qwerty12345', name='Del', + phoneNumber='88005553535', + email='yepper@gmail.com', age='14', deliveryRate=5.0, + createdOrdersHistoryIds=[123, 456], deliveredOrdersHistoryIds=[45]) + number_of_delivery = 2 for delivery_num in range(number_of_delivery): - Delivery.objects.create(customerId=delivery_num, angelId=delivery_num + 1, orderId=delivery_num + 2, - estimatedTime='20:00', customerConfirmation=True, angelConfirmation=True) + Delivery.objects.create(customerId=delivery_num, angelId=1, orderId=delivery_num + 2, + customerConfirmation=True, angelConfirmation=True) def test_view_url_exists_at_desired_location(self): resp = self.client.get('/delivery/?token=123') @@ -24,10 +28,9 @@ def test_view_url_accessible_by_name(self): def test_post_url_exists_at_desired_location(self): resp = self.client.post('/delivery/?token=123', { - "customerId": 12, - "angelId": 123, + "customerId": 1, + "angelId": 1, "orderId": 90, - "estimatedTime": "20:00", "customerConfirmation": True, "angelConfirmation": True }) @@ -35,21 +38,20 @@ def test_post_url_exists_at_desired_location(self): def test_post_url_accessible_by_name(self): resp = self.client.post(reverse('delivery') + '?token=123', { - "customerId": 12, - "angelId": 123, + "customerId": 1, + "angelId": 1, "orderId": 90, - "estimatedTime": "20:00", "customerConfirmation": True, "angelConfirmation": True }) self.assertEqual(resp.status_code, 201) def test_view_url_by_order_exists_at_desired_location(self): - resp = self.client.get('/delivery/1?token=123') + resp = self.client.get('/delivery/3?token=123') self.assertEqual(resp.status_code, 200) def test_view_url_by_order_accessible_by_name(self): - resp = self.client.get(reverse('delivery by id', args=[1]) + '?token=123') + resp = self.client.get(reverse('delivery by id', args=[3]) + '?token=123') self.assertEqual(resp.status_code, 200) def test_view_url_not_found_at_desired_location(self): @@ -60,6 +62,20 @@ def test_view_url_not_found_by_name(self): resp = self.client.get(reverse('delivery by id', args=[99]) + '?token=123') self.assertEqual(resp.status_code, 404) + def test_put_url_exists_at_desired_location(self): + resp = self.client.put('/delivery/3?token=123', { + "customerConfirmation": "true", + "angelConfirmation": "true" + }, content_type='application/json') + self.assertEqual(resp.status_code, 200) + + def test_put_url_accessible_by_name(self): + resp = self.client.put(reverse('delivery') + '3?token=123', { + "customerConfirmation": "true", + "angelConfirmation": "true" + }, content_type='application/json') + self.assertEqual(resp.status_code, 200) + class FeedbackViewTest(TestCase): @classmethod @@ -74,9 +90,13 @@ class OrdersViewTest(TestCase): @classmethod def setUpTestData(cls): number_of_orders = 5 + User.objects.create(token='123', passwordMd5hash='qwerty12345', name='Del', + phoneNumber='88005553535', + email='yepper@gmail.com', age='14', deliveryRate=5.0, + createdOrdersHistoryIds=[123, 456], deliveredOrdersHistoryIds=[45]) for order_num in range(number_of_orders): Order.objects.create(customerId=order_num, name='Del', description='seven years bad luck', - expectedDeliveryTime='04:00', status='0', weight='100', cost='100', + expectedDeliveryTime='04:00:00', status='0', weight='100', cost='100', fee='50', address='Inno basement', possibleAngelsIds=[123, 456], picture='https://qwerty.com') @@ -123,10 +143,10 @@ def test_view_url_accessible_by_name_filter4(self): def test_post_url_exists_at_desired_location(self): resp = self.client.post('/orders/?token=123', { - "customerId": 12, + "customerId": 1, "name": "Jack", "description": "1234", - "expectedDeliveryTime": "2022-06-20", + "expectedDeliveryTime": "04:00:00", "status": "2", "weight": "55.00", "cost": 55, @@ -142,10 +162,10 @@ def test_post_url_exists_at_desired_location(self): def test_post_url_accessible_by_name(self): resp = self.client.post(reverse('orders') + '?token=123', { - "customerId": 12, + "customerId": 1, "name": "Jack", "description": "1234", - "expectedDeliveryTime": "2022-06-20", + "expectedDeliveryTime": "04:00:00", "status": "2", "weight": "55.00", "cost": 55, @@ -202,8 +222,8 @@ def setUpTestData(cls): number_of_users = 10 for user_num in range(number_of_users): User.objects.create(token='123', passwordMd5hash='qwerty12345', name='Del ' + str(user_num), - phoneNumber='88005553535', - email='yepper@gmail.com', age='14', deliveryRate=5.0, + phoneNumber='88005553535 ' + str(user_num), + email='yepper@gmail.com ' + str(user_num), age='14', deliveryRate=5.0, createdOrdersHistoryIds=[123, 456], deliveredOrdersHistoryIds=[45]) def test_view_url_by_user_exists_at_desired_location(self): @@ -222,16 +242,30 @@ def test_view_url_not_found_by_name(self): resp = self.client.get(reverse('user by id', args=[99]) + '?token=123') self.assertEqual(resp.status_code, 404) - def test_post_url_sign_in_exists_at_desired_location(self): + def test_post_url_sign_in_exists_at_desired_location_number(self): + resp = self.client.post('/sign_in/', { + "name": "88005553535 0", + "passwordMd5hash": "qwerty12345" + }) + self.assertEqual(resp.status_code, 200) + + def test_post_url_sign_in_accessible_by_name_number(self): + resp = self.client.post(reverse('sign_in'), { + "name": "88005553535 0", + "passwordMd5hash": "qwerty12345" + }) + self.assertEqual(resp.status_code, 200) + + def test_post_url_sign_in_exists_at_desired_location_email(self): resp = self.client.post('/sign_in/', { - "name": "Del 0", + "name": "yepper@gmail.com 0", "passwordMd5hash": "qwerty12345" }) self.assertEqual(resp.status_code, 200) - def test_post_url_sign_in_accessible_by_name(self): + def test_post_url_sign_in_accessible_by_name_email(self): resp = self.client.post(reverse('sign_in'), { - "name": "Del 0", + "name": "yepper@gmail.com 0", "passwordMd5hash": "qwerty12345" }) self.assertEqual(resp.status_code, 200)