Replaces .active = False; .save() pattern in tests with a test controller method
This commit is contained in:
		
							parent
							
								
									8ad265a65a
								
							
						
					
					
						commit
						2f77f5bb23
					
				
					 6 changed files with 55 additions and 51 deletions
				
			
		|  | @ -24,3 +24,7 @@ class TestingCartController(CartController): | ||||||
|         except ObjectDoesNotExist: |         except ObjectDoesNotExist: | ||||||
|             old_quantity = 0 |             old_quantity = 0 | ||||||
|         self.set_quantity(product, old_quantity + quantity) |         self.set_quantity(product, old_quantity + quantity) | ||||||
|  | 
 | ||||||
|  |     def next_cart(self): | ||||||
|  |         self.cart.active = False | ||||||
|  |         self.cart.save() | ||||||
|  |  | ||||||
|  | @ -74,12 +74,12 @@ class RegistrationCartTestCase(SetTimeMixin, TestCase): | ||||||
| 
 | 
 | ||||||
|         # Burn through some carts -- this made some past EC tests fail |         # Burn through some carts -- this made some past EC tests fail | ||||||
|         current_cart = TestingCartController.for_user(cls.USER_1) |         current_cart = TestingCartController.for_user(cls.USER_1) | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         current_cart = TestingCartController.for_user(cls.USER_2) |         current_cart = TestingCartController.for_user(cls.USER_2) | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|     def make_ceiling(cls, name, limit=None, start_time=None, end_time=None): |     def make_ceiling(cls, name, limit=None, start_time=None, end_time=None): | ||||||
|  | @ -142,8 +142,8 @@ class BasicCartTests(RegistrationCartTestCase): | ||||||
|     def test_get_cart(self): |     def test_get_cart(self): | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
| 
 | 
 | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         old_cart = current_cart |         old_cart = current_cart | ||||||
| 
 | 
 | ||||||
|  | @ -214,8 +214,8 @@ class BasicCartTests(RegistrationCartTestCase): | ||||||
|         with self.assertRaises(ValidationError): |         with self.assertRaises(ValidationError): | ||||||
|             current_cart.add_to_cart(self.PROD_1, 10) |             current_cart.add_to_cart(self.PROD_1, 10) | ||||||
| 
 | 
 | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
|         # User should not be able to add 10 of PROD_1 to the current cart now, |         # User should not be able to add 10 of PROD_1 to the current cart now, | ||||||
|  | @ -272,8 +272,8 @@ class BasicCartTests(RegistrationCartTestCase): | ||||||
|         with self.assertRaises(ValidationError): |         with self.assertRaises(ValidationError): | ||||||
|             current_cart.add_to_cart(self.PROD_3, 1) |             current_cart.add_to_cart(self.PROD_3, 1) | ||||||
| 
 | 
 | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
|         # The category limit should extend across carts |         # The category limit should extend across carts | ||||||
|  | @ -298,8 +298,8 @@ class BasicCartTests(RegistrationCartTestCase): | ||||||
|             current_cart.add_to_cart(self.PROD_4, 1) |             current_cart.add_to_cart(self.PROD_4, 1) | ||||||
| 
 | 
 | ||||||
|         # The limits should extend across carts... |         # The limits should extend across carts... | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
|         current_cart.set_quantity(self.PROD_3, 4) |         current_cart.set_quantity(self.PROD_3, 4) | ||||||
|  | @ -325,8 +325,8 @@ class BasicCartTests(RegistrationCartTestCase): | ||||||
|         current_cart.add_to_cart(item, quantity) |         current_cart.add_to_cart(item, quantity) | ||||||
|         self.assertTrue(item in prods) |         self.assertTrue(item in prods) | ||||||
| 
 | 
 | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -91,8 +91,8 @@ class CeilingsTestCases(RegistrationCartTestCase): | ||||||
|         second_cart.add_to_cart(self.PROD_1, 1) |         second_cart.add_to_cart(self.PROD_1, 1) | ||||||
| 
 | 
 | ||||||
|         # User 2 pays for their cart |         # User 2 pays for their cart | ||||||
|         second_cart.cart.active = False | 
 | ||||||
|         second_cart.cart.save() |         second_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         # User 1 should not be able to add item to their cart |         # User 1 should not be able to add item to their cart | ||||||
|         # because user 2 has paid for their reserved item, exhausting |         # because user 2 has paid for their reserved item, exhausting | ||||||
|  | @ -128,8 +128,8 @@ class CeilingsTestCases(RegistrationCartTestCase): | ||||||
|             first_cart.validate_cart() |             first_cart.validate_cart() | ||||||
| 
 | 
 | ||||||
|         # Paid cart outside the reservation window |         # Paid cart outside the reservation window | ||||||
|         second_cart.cart.active = False | 
 | ||||||
|         second_cart.cart.save() |         second_cart.next_cart() | ||||||
|         self.add_timedelta(self.RESERVATION + datetime.timedelta(seconds=1)) |         self.add_timedelta(self.RESERVATION + datetime.timedelta(seconds=1)) | ||||||
|         with self.assertRaises(ValidationError): |         with self.assertRaises(ValidationError): | ||||||
|             first_cart.validate_cart() |             first_cart.validate_cart() | ||||||
|  | @ -140,15 +140,15 @@ class CeilingsTestCases(RegistrationCartTestCase): | ||||||
|         first_cart = TestingCartController.for_user(self.USER_1) |         first_cart = TestingCartController.for_user(self.USER_1) | ||||||
|         first_cart.add_to_cart(self.PROD_1, 1) |         first_cart.add_to_cart(self.PROD_1, 1) | ||||||
| 
 | 
 | ||||||
|         first_cart.cart.active = False | 
 | ||||||
|         first_cart.cart.save() |         first_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         second_cart = TestingCartController.for_user(self.USER_2) |         second_cart = TestingCartController.for_user(self.USER_2) | ||||||
|         with self.assertRaises(ValidationError): |         with self.assertRaises(ValidationError): | ||||||
|             second_cart.add_to_cart(self.PROD_1, 1) |             second_cart.add_to_cart(self.PROD_1, 1) | ||||||
| 
 | 
 | ||||||
|         first_cart.cart.released = True |         first_cart.cart.released = True | ||||||
|         first_cart.cart.save() |         first_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         second_cart.add_to_cart(self.PROD_1, 1) |         second_cart.add_to_cart(self.PROD_1, 1) | ||||||
| 
 | 
 | ||||||
|  | @ -176,8 +176,8 @@ class CeilingsTestCases(RegistrationCartTestCase): | ||||||
|         cart.add_to_cart(self.PROD_1, 1) |         cart.add_to_cart(self.PROD_1, 1) | ||||||
|         self.assertEqual(1, len(cart.cart.discountitem_set.all())) |         self.assertEqual(1, len(cart.cart.discountitem_set.all())) | ||||||
| 
 | 
 | ||||||
|         cart.cart.active = False | 
 | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         # The second cart has no voucher attached, so should apply the |         # The second cart has no voucher attached, so should apply the | ||||||
|         # ceiling discount |         # ceiling discount | ||||||
|  |  | ||||||
|  | @ -168,8 +168,8 @@ class DiscountTestCase(RegistrationCartTestCase): | ||||||
|         # Enable the discount during the first cart. |         # Enable the discount during the first cart. | ||||||
|         cart = TestingCartController.for_user(self.USER_1) |         cart = TestingCartController.for_user(self.USER_1) | ||||||
|         cart.add_to_cart(self.PROD_1, 1) |         cart.add_to_cart(self.PROD_1, 1) | ||||||
|         cart.cart.active = False | 
 | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         # Use the discount in the second cart |         # Use the discount in the second cart | ||||||
|         cart = TestingCartController.for_user(self.USER_1) |         cart = TestingCartController.for_user(self.USER_1) | ||||||
|  | @ -177,8 +177,8 @@ class DiscountTestCase(RegistrationCartTestCase): | ||||||
| 
 | 
 | ||||||
|         # The discount should be applied. |         # The discount should be applied. | ||||||
|         self.assertEqual(1, len(cart.cart.discountitem_set.all())) |         self.assertEqual(1, len(cart.cart.discountitem_set.all())) | ||||||
|         cart.cart.active = False | 
 | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         # The discount should respect the total quantity across all |         # The discount should respect the total quantity across all | ||||||
|         # of the user's carts. |         # of the user's carts. | ||||||
|  | @ -197,8 +197,8 @@ class DiscountTestCase(RegistrationCartTestCase): | ||||||
|         cart.add_to_cart(self.PROD_1, 1) |         cart.add_to_cart(self.PROD_1, 1) | ||||||
|         # This would exhaust discount if present |         # This would exhaust discount if present | ||||||
|         cart.add_to_cart(self.PROD_2, 2) |         cart.add_to_cart(self.PROD_2, 2) | ||||||
|         cart.cart.active = False | 
 | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         self.add_discount_prod_1_includes_prod_2() |         self.add_discount_prod_1_includes_prod_2() | ||||||
|         cart = TestingCartController.for_user(self.USER_1) |         cart = TestingCartController.for_user(self.USER_1) | ||||||
|  | @ -346,8 +346,8 @@ class DiscountTestCase(RegistrationCartTestCase): | ||||||
| 
 | 
 | ||||||
|         discounts = discount.available_discounts(self.USER_1, [self.CAT_2], []) |         discounts = discount.available_discounts(self.USER_1, [self.CAT_2], []) | ||||||
|         self.assertEqual(2, discounts[0].quantity) |         self.assertEqual(2, discounts[0].quantity) | ||||||
|         cart.cart.active = False | 
 | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|     def test_discount_quantity_is_correct_after_first_purchase(self): |     def test_discount_quantity_is_correct_after_first_purchase(self): | ||||||
|         self.test_discount_quantity_is_correct_before_first_purchase() |         self.test_discount_quantity_is_correct_before_first_purchase() | ||||||
|  | @ -357,8 +357,8 @@ class DiscountTestCase(RegistrationCartTestCase): | ||||||
| 
 | 
 | ||||||
|         discounts = discount.available_discounts(self.USER_1, [self.CAT_2], []) |         discounts = discount.available_discounts(self.USER_1, [self.CAT_2], []) | ||||||
|         self.assertEqual(1, discounts[0].quantity) |         self.assertEqual(1, discounts[0].quantity) | ||||||
|         cart.cart.active = False | 
 | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|     def test_discount_is_gone_after_quantity_exhausted(self): |     def test_discount_is_gone_after_quantity_exhausted(self): | ||||||
|         self.test_discount_quantity_is_correct_after_first_purchase() |         self.test_discount_quantity_is_correct_after_first_purchase() | ||||||
|  | @ -388,12 +388,12 @@ class DiscountTestCase(RegistrationCartTestCase): | ||||||
|         self.assertEqual(1, len(discounts)) |         self.assertEqual(1, len(discounts)) | ||||||
| 
 | 
 | ||||||
|         cart.cart.active = False  # Keep discount enabled |         cart.cart.active = False  # Keep discount enabled | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         cart = TestingCartController.for_user(self.USER_1) |         cart = TestingCartController.for_user(self.USER_1) | ||||||
|         cart.add_to_cart(self.PROD_2, 2)  # The discount will be exhausted |         cart.add_to_cart(self.PROD_2, 2)  # The discount will be exhausted | ||||||
|         cart.cart.active = False | 
 | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         discounts = discount.available_discounts( |         discounts = discount.available_discounts( | ||||||
|             self.USER_1, |             self.USER_1, | ||||||
|  | @ -403,7 +403,7 @@ class DiscountTestCase(RegistrationCartTestCase): | ||||||
|         self.assertEqual(0, len(discounts)) |         self.assertEqual(0, len(discounts)) | ||||||
| 
 | 
 | ||||||
|         cart.cart.released = True |         cart.cart.released = True | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         discounts = discount.available_discounts( |         discounts = discount.available_discounts( | ||||||
|             self.USER_1, |             self.USER_1, | ||||||
|  |  | ||||||
|  | @ -68,8 +68,8 @@ class EnablingConditionTestCases(RegistrationCartTestCase): | ||||||
| 
 | 
 | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
|         current_cart.add_to_cart(self.PROD_2, 1) |         current_cart.add_to_cart(self.PROD_2, 1) | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         # Create new cart and try to add PROD_1 |         # Create new cart and try to add PROD_1 | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
|  | @ -103,8 +103,8 @@ class EnablingConditionTestCases(RegistrationCartTestCase): | ||||||
| 
 | 
 | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
|         current_cart.add_to_cart(self.PROD_3, 1) |         current_cart.add_to_cart(self.PROD_3, 1) | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         # Create new cart and try to add PROD_1 |         # Create new cart and try to add PROD_1 | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
|  | @ -241,15 +241,15 @@ class EnablingConditionTestCases(RegistrationCartTestCase): | ||||||
|         cart = TestingCartController.for_user(self.USER_1) |         cart = TestingCartController.for_user(self.USER_1) | ||||||
|         cart.add_to_cart(self.PROD_3, 1) |         cart.add_to_cart(self.PROD_3, 1) | ||||||
| 
 | 
 | ||||||
|         cart.cart.active = False | 
 | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         cart_2 = TestingCartController.for_user(self.USER_1) |         cart_2 = TestingCartController.for_user(self.USER_1) | ||||||
|         cart_2.add_to_cart(self.PROD_1, 1) |         cart_2.add_to_cart(self.PROD_1, 1) | ||||||
|         cart_2.set_quantity(self.PROD_1, 0) |         cart_2.set_quantity(self.PROD_1, 0) | ||||||
| 
 | 
 | ||||||
|         cart.cart.released = True |         cart.cart.released = True | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         with self.assertRaises(ValidationError): |         with self.assertRaises(ValidationError): | ||||||
|             cart_2.set_quantity(self.PROD_1, 1) |             cart_2.set_quantity(self.PROD_1, 1) | ||||||
|  | @ -260,15 +260,15 @@ class EnablingConditionTestCases(RegistrationCartTestCase): | ||||||
|         cart = TestingCartController.for_user(self.USER_1) |         cart = TestingCartController.for_user(self.USER_1) | ||||||
|         cart.add_to_cart(self.PROD_2, 1) |         cart.add_to_cart(self.PROD_2, 1) | ||||||
| 
 | 
 | ||||||
|         cart.cart.active = False | 
 | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         cart_2 = TestingCartController.for_user(self.USER_1) |         cart_2 = TestingCartController.for_user(self.USER_1) | ||||||
|         cart_2.add_to_cart(self.PROD_1, 1) |         cart_2.add_to_cart(self.PROD_1, 1) | ||||||
|         cart_2.set_quantity(self.PROD_1, 0) |         cart_2.set_quantity(self.PROD_1, 0) | ||||||
| 
 | 
 | ||||||
|         cart.cart.released = True |         cart.cart.released = True | ||||||
|         cart.cart.save() |         cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         with self.assertRaises(ValidationError): |         with self.assertRaises(ValidationError): | ||||||
|             cart_2.set_quantity(self.PROD_1, 1) |             cart_2.set_quantity(self.PROD_1, 1) | ||||||
|  |  | ||||||
|  | @ -34,8 +34,8 @@ class VoucherTestCases(RegistrationCartTestCase): | ||||||
|         # user 2 should be able to apply voucher |         # user 2 should be able to apply voucher | ||||||
|         self.add_timedelta(rego.Voucher.RESERVATION_DURATION * 2) |         self.add_timedelta(rego.Voucher.RESERVATION_DURATION * 2) | ||||||
|         cart_2.apply_voucher(voucher.code) |         cart_2.apply_voucher(voucher.code) | ||||||
|         cart_2.cart.active = False | 
 | ||||||
|         cart_2.cart.save() |         cart_2.next_cart() | ||||||
| 
 | 
 | ||||||
|         # After the reservation duration, even though the voucher has applied, |         # After the reservation duration, even though the voucher has applied, | ||||||
|         # it exceeds the number of vouchers available. |         # it exceeds the number of vouchers available. | ||||||
|  | @ -125,8 +125,8 @@ class VoucherTestCases(RegistrationCartTestCase): | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
|         current_cart.apply_voucher(voucher.code) |         current_cart.apply_voucher(voucher.code) | ||||||
| 
 | 
 | ||||||
|         current_cart.cart.active = False | 
 | ||||||
|         current_cart.cart.save() |         current_cart.next_cart() | ||||||
| 
 | 
 | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer