def test_add_item(self): basket = Basket() item1 = Item(product=self.product1, quantity=1) # total 1 x 5 = 5 two_items1 = Item(product=self.product1, quantity=2) # total 2 x 5 = 10 # assert basket is empty before real testing self.assertEqual(0, basket.count()) self.assertIsNone(basket.get_item_from_product(self.product1)) self.assertIsNone(basket.get_item_from_product(self.product2)) # add 1 product basket.add_item(item1) self.assertEqual(item1, basket.get_item_from_product(self.product1)) self.assertEqual(1, basket.get_quantity_for_product(self.product1)) self.assertEqual(1, basket.count()) self.assertEqual(5, basket.get_total()) # same product, 2 more of them added to basket basket.add_item(two_items1) self.assertEqual(3, basket.get_quantity_for_product(self.product1)) self.assertEqual(1, basket.count()) self.assertEqual(15, basket.get_total()) item2 = Item(product=self.product2, quantity=5) # total 5 x 10 = 50 basket.add_item(item2) self.assertEqual(2, basket.count()) self.assertEqual(65, basket.get_total())
def test_filter_items_modified_today_picks_out_items_from_that_day(): unfiltered_list = [ Item( 'yesterday-item', 'yesterday-title', Status.Done.value, "2020-06-24T14:51:12.321Z" ), Item( 'today-item', 'today-title', Status.Done.value, "2020-06-25T14:51:12.321Z" ), Item( 'tomorrow-item', 'tomorrow-title', Status.Done.value, "2020-06-26T14:51:12.321Z" ) ] filtered_items = filter_items_modified_today(unfiltered_list) assert len(filtered_items) == 1 assert filtered_items[0].id == 'today-item'
def stub_get_all_items(collection): return [ Item('test-to-do-card-id', 'Test To Do Card Title', 'To do', '2020-06-24T14:51:12.321Z'), Item('test-doing-card-id', 'Test Doing Card Title', 'Doing', '2020-06-24T14:51:12.321Z'), Item('test-done-card-id', 'Test Done Card Title', 'Done', '2020-06-24T14:51:12.321Z') ]
def view_model(): return ViewModel( [ Item('to-do-id', 'to-do-title', Status.TO_DO.value, 'to-do-description', "2021-01-01T15:47:23.517Z"), Item('doing-id', 'doing-title', Status.DOING.value, 'doing-description', "2021-01-01T15:47:23.517Z"), Item('done-id', 'done-title', Status.DONE.value, 'done-description', "2021-01-01T15:47:23.517Z") ], False )
def stub_get_all_items(collection): return [ Item('test-to-do-item-id', 'Test To Do item Title', 'To Do', 'Test To Do item Description', '2020-07-30T12:52:06.278Z'), Item('test-doing-item-id', 'Test Doing item Title', 'Doing', 'Test Doing item Description', '2020-07-30T12:52:06.278Z'), Item('test-done-item-id', 'Test Done item Title', 'Done', 'Test Done item Description', '2020-07-30T12:52:06.278Z') ]
def done_items_view_model(): return ViewModel( [ Item('to-do-id', 'to-do-title', Status.DONE.value, '5 days done', datetime.now() - timedelta(days=5)), Item('to-do-id', 'to-do-title', Status.DONE.value, '3 hours done', datetime.now() - timedelta(hours=3)), Item('to-do-id', 'to-do-title', Status.DONE.value, 'Just done', datetime.now()), Item('to-do-id', 'to-do-title', Status.DONE.value, '20 days done', datetime.now() - timedelta(days=20)), Item('to-do-id', 'to-do-title', Status.DONE.value, '20 hours done', datetime.now() - timedelta(hours=20)) ], False )
def test_remove_item(self): basket = Basket() item1 = Item(product=self.product1, quantity=1) # total 5 x 1 = 5 item2 = Item(product=self.product2, quantity=3) # total 10 x 3 = 30 basket.add_item(item1) basket.add_item(item2) self.assertEqual(2, basket.count()) self.assertEqual(35, basket.get_total()) # remove Product1 basket.remove_product(self.product1) self.assertIsNone(basket.get_item_from_product(self.product1)) self.assertEqual(1, basket.count()) self.assertEqual(30, basket.get_total())
def done_item(): item = Item( 'done-id', 'done-title', Status.Done.value, "2020-06-24T14:51:12.321Z" ) return item
def doing_item(): item = Item( 'doing-id', 'doing-title', Status.Doing.value, "2020-06-24T14:51:12.321Z" ) return item
def to_do_item(): item = Item( 'to-do-id', 'to-do-title', Status.ToDo.value, "2020-06-24T14:51:12.321Z" ) return item
def get_all_items(collection): log.debug(f'Fetching all items') items = [] for item in collection.find(): items.append( Item(item['_id'], item['name'], item['status'], item['dateLastActivity'])) log.debug(f'Found {len(items)} items') return items
def setUp(self) -> None: self.manufacture = Manufacture() self.manufacture_name = "Lol" self.manufacture.set_name(self.manufacture_name) self.product_name1 = "Product 1" self.product_sku1 = "a001" self.product_price1 = 5 self.product1 = Product( name=self.product_name1, sku=self.product_sku1, price=self.product_price1, manufacture=self.manufacture, ) self.quantity = 10 self.item = Item(product=self.product1, quantity=self.quantity)
def done_item(): return Item('done-id', 'done-title', Status.DONE.value, 'done-description', "2021-01-01T15:47:23.517Z")
def doing_item(): return Item('doing-id', 'doing-title', Status.DOING.value,'doing-description', "2021-01-01T15:47:23.517Z")
def to_do_item(): return Item('to-do-id', 'to-do-title', Status.TO_DO.value, 'to-do-description', "2021-01-01T15:47:23.517Z")
def test_getter(self): self.item = Item(product=self.product1, quantity=10) self.assertEqual(self.product1, self.item.product) self.assertEqual(self.quantity, self.item.quantity)