def test_its_within_a_normal_range(self): last_week = datetime.date.today() - datetime.timedelta(days=7) expected_date = datetime.date.today() + datetime.timedelta(days=7) brand = BrandFactory(restock_interval=14, last_restocked=last_week) product = ProductFactory(brands=[brand]) self.assertEqual(product.stock_due_date(), expected_date)
def test_last_restocked_is_none(self): expected_date = datetime.date.today() + datetime.timedelta(days=7) brand = BrandFactory(restock_interval=7) product = ProductFactory() product.brands.add(brand) self.assertEqual(product.stock_due_date(), expected_date)
def test_we_know_when_its_coming(self): due_on = datetime.date.today() + datetime.timedelta(days=7) brand = BrandFactory(stock_due_on=due_on) product = ProductFactory() product.brands.add(brand) self.assertEqual(product.stock_due_date(), due_on)
def test_we_have_no_idea(self): expected_date = datetime.date.today() + datetime.timedelta(days=14) last_month = datetime.date.today() - datetime.timedelta(days=31) brand = BrandFactory( restock_interval=14, stock_due_on=last_month, last_restocked=last_month ) product = ProductFactory(brands=[brand]) self.assertEqual(product.stock_due_date(), expected_date)
def test_restock_interval_is_none(self): brand = BrandFactory() product = ProductFactory(brands=[brand]) self.assertIsNone(product.stock_due_date())
def test_stock_due_on_is_none(self): expected_date = datetime.date.today() + datetime.timedelta(days=14) brand = BrandFactory(restock_interval=14) product = ProductFactory(brands=[brand]) self.assertEqual(product.stock_due_date(), expected_date)