def test_item_should_not_be_updated_if_it_didnt_exist_in_db(self): item = item_test.sample_item.copy() item["content"] = "" item = Item(item) self.db.get.return_value = None main.process_item(item) self.assertEqual(self.db.method_calls, [("get", (item.google_id, None), {}), ("add_item", (item,), {})])
def test_item_with_errors_should_have_images_redownloaded(self): item = Item(item_test.sample_item) db_item = Mock() db_item.is_read = False db_item.had_errors = True self.db.get.return_value = db_item main.process_item(item) self.assertEqual(db_item.method_calls, [("redownload_images", (), {}), ("update", (), {})])
def test_item_should_be_updated_with_new_feed_name(self): item = Item(item_test.sample_item) db_item = Mock() item.tag_name = "feedb" self.db.get.return_value = db_item db_item.is_read = False db_item.had_errors = False main.process_item(item) self.assertEqual(db_item.tag_name, "feedb") self.assertEqual(self.db.method_calls, [("get", (item.google_id, None), {})]) self.assertEqual(db_item.method_calls, [("update", (), {})])
def test_item_feeds_being_updated(self): """Items that already exist in the database should be updated with their new feed / tag (if it has changed)""" i = item_test.sample_item.copy() item = Item(item_test.sample_item) self.db.is_read.return_value = False main.process_item(item) self.assertTrue(self.db.is_read.called) self.db.is_read.reset() self.db.is_read.return_value = True item.feed_id = 'feedb' main.process_item(item) self.assertTrue(self.db.is_read.called) self.assertTrue(('update_feed_for_item',(item,),{}) in self.db.method_calls)