예제 #1
0
파일: tests.py 프로젝트: tbson/24ho
    def setUp(self):
        # Add order items
        order_items = OrderItemUtils.seeding(2)
        self.order = order_items[0].order
        self.order.status = Status.NEW
        self.order.save()

        # Add bol
        self.bol = BolUtils.seeding(1, True)
        self.bol1 = BolUtils.seeding(2, True)
        self.bol2 = BolUtils.seeding(3, True)

        self.bol.order = self.order
        self.bol1.order = self.order
        self.bol2.order = self.order

        self.bol.save()
        self.bol1.save()
        self.bol2.save()

        order_items[0].quantity = 4
        order_items[0].checked_quantity = 4
        order_items[0].save()

        order_items[1].quantity = 5
        order_items[1].checked_quantity = 5
        order_items[1].save()

        self.order_items = order_items
예제 #2
0
파일: tests.py 프로젝트: tbson/24ho
    def setUp(self):
        self.order = OrderUtils.seeding(1, True)
        self.order.status = Status.NEW

        self.staff = StaffUtils.seeding(1, True)

        OrderItemUtils.seeding(1, order=self.order)
        BolUtils.seeding(1, order=self.order)

        OrderUtils.force_cal(self.order)
예제 #3
0
파일: tests.py 프로젝트: tbson/24ho
 def test_transport_register(self):
     bols = BolUtils.seeding(3)
     for bol in bols:
         bol.wooden_box = True
         bol.cny_wooden_box_fee = 2
         bol.save()
         self.assertEqual(BolUtils.cal_wooden_box_fee(bol), 2)
예제 #4
0
파일: tests.py 프로젝트: tbson/24ho
 def test_transport_register(self):
     bols = BolUtils.seeding(3)
     for bol in bols:
         bol.shockproof = True
         bol.cny_shockproof_fee = 2
         bol.save()
         self.assertEqual(BolUtils.cal_shockproof_fee(bol), 2)
예제 #5
0
파일: tests.py 프로젝트: tbson/24ho
 def test_normal_case(self):
     bols = BolUtils.seeding(3)
     order = OrderUtils.seeding(1, True)
     for bol in bols:
         bol.order = order
         bol.save()
     self.assertEqual(OrderUtils.cal_delivery_fee(order), 6)
예제 #6
0
파일: tests.py 프로젝트: tbson/24ho
 def test_normal_case(self):
     bols = BolUtils.seeding(3)
     order = OrderUtils.seeding(1, True)
     for bol in bols:
         bol.order = order
         bol.cny_sub_fee = 2
         bol.save()
     self.assertEqual(order.cny_sub_fee, 6)
     self.assertEqual(OrderUtils.cal_sub_fee(order), 6)
예제 #7
0
파일: tests.py 프로젝트: tbson/24ho
 def test_with_register(self):
     bols = BolUtils.seeding(3)
     order = OrderUtils.seeding(1, True)
     order.wooden_box = True
     order.save()
     for bol in bols:
         bol.order = order
         bol.cny_wooden_box_fee = 2
         bol.save()
     self.assertEqual(order.cny_wooden_box_fee, 6)
     self.assertEqual(OrderUtils.cal_wooden_box_fee(order), 6)
예제 #8
0
파일: tests.py 프로젝트: tbson/24ho
 def test_without_register(self):
     bols = BolUtils.seeding(3)
     order = OrderUtils.seeding(1, True)
     order.shockproof = False
     order.save()
     for bol in bols:
         bol.order = order
         bol.cny_shockproof_fee = 2
         bol.save()
     self.assertEqual(order.cny_shockproof_fee, 0)
     self.assertEqual(OrderUtils.cal_shockproof_fee(order), 0)
예제 #9
0
파일: tests.py 프로젝트: tbson/24ho
    def test_no_items(self):
        bol = BolUtils.seeding(1, True)
        order = OrderUtils.seeding(1, True)

        bol.order = order
        bol.save()

        with self.assertRaises(ValidationError) as context:
            OrderUtils.get_items_for_checking(bol.uid)
        self.assertTrue(
            error_messages['ORDER_ITEM_NOT_FOUND'] in str(context.exception))
예제 #10
0
파일: tests.py 프로젝트: tbson/24ho
    def test_after_exporting_order(self):
        bol = BolUtils.seeding(1, True)
        order = OrderUtils.seeding(1, True)
        order.status = Status.EXPORTED
        order.do_not_check_exported = True

        bol.order = order
        bol.save()

        order.do_not_check_exported = True
        order.save()

        with self.assertRaises(ValidationError) as context:
            OrderUtils.get_items_for_checking(bol.uid)
        self.assertTrue(
            error_messages['ORDER_AFTER_EXPORTING'] in str(context.exception))
예제 #11
0
파일: tests.py 프로젝트: tbson/24ho
    def test_pending_order(self):
        bol = BolUtils.seeding(1, True)
        order = OrderUtils.seeding(1, True)
        order.pending = True
        order.do_not_check_pending = True

        bol.order = order
        bol.save()

        order.do_not_check_pending = True
        order.save()

        with self.assertRaises(ValidationError) as context:
            OrderUtils.get_items_for_checking(bol.uid)
        self.assertTrue(
            error_messages['ORDER_WAS_PENDING'] in str(context.exception))
예제 #12
0
파일: tests.py 프로젝트: tbson/24ho
    def test_have_items_but_all_zero(self):
        bol = BolUtils.seeding(1, True)
        order = OrderUtils.seeding(1, True)

        order_items = OrderItemUtils.seeding(3)
        for order_item in order_items:
            order_item.order = order
            order_item.quantity = 0
            order_item.save()

        bol.order = order
        bol.save()

        with self.assertRaises(ValidationError) as context:
            OrderUtils.get_items_for_checking(bol.uid)
        self.assertTrue(
            error_messages['ORDER_ITEM_NOT_FOUND'] in str(context.exception))
예제 #13
0
파일: tests.py 프로젝트: tbson/24ho
    def test_normal_case(self):
        bol = BolUtils.seeding(1, True)
        order = OrderUtils.seeding(1, True)

        order_items = OrderItemUtils.seeding(3)
        for order_item in order_items:
            order_item.order = order
            order_item.save()

        order_items[0].quantity = 0
        order_items[0].save()

        bol.order = order
        bol.save()

        result = OrderUtils.get_items_for_checking(bol.uid)

        self.assertEqual(result.count(), len(order_items) - 1)
예제 #14
0
파일: tests.py 프로젝트: tbson/24ho
    def test_integration(self):
        token = TestHelpers.test_setup()
        client = APIClient()
        client.credentials(HTTP_AUTHORIZATION='JWT ' + token)

        bol = BolUtils.seeding(1, True)
        order = OrderUtils.seeding(1, True)

        order_items = OrderItemUtils.seeding(3)
        for order_item in order_items:
            order_item.order = order
            order_item.save()

        bol.order = order
        bol.save()

        response = client.get(
            "/api/v1/order/get-order-items-for-checking/{}".format(bol.uid))
        self.assertEqual(response.status_code, 200)
        response = response.json()
        self.assertEqual(response['count'], len(order_items))
예제 #15
0
파일: tests.py 프로젝트: tbson/24ho
    def test_normal_case(self):
        order = OrderUtils.seeding(1, True)

        bols = BolUtils.seeding(3)
        for bol in bols:
            bol.order = order
            bol.packages = 1
            bol.save()

        order_items = OrderItemUtils.seeding(3)
        for order_item in order_items:
            order_item.order = order
            order_item.save()

        order_items[1].url = order_items[0].url
        order_items[1].save()

        eput = {"links": 2, "quantity": 6, "packages": 3}
        output = OrderUtils.cal_statistics(order)
        self.assertEqual(order.statistics, eput)
        self.assertEqual(output, eput)
예제 #16
0
파일: tests.py 프로젝트: tbson/24ho
    def test_update_shockproof(self):
        order = OrderUtils.seeding(1, True)
        order.shockproof = True
        order.wooden_box = True
        order.count_check = True
        order.save()

        bols = BolUtils.seeding(3)

        for bol in bols:
            self.assertEqual(bol.shockproof, False)
            self.assertEqual(bol.wooden_box, False)
            self.assertEqual(bol.shockproof, False)

        for bol in bols:
            bol.order = order
            bol.save()

        for bol in bols:
            self.assertEqual(bol.shockproof, True)
            self.assertEqual(bol.wooden_box, True)
            self.assertEqual(bol.shockproof, True)