def setup(): # Setup database connection config = configparser.ConfigParser() config.read("config.ini") db = SqlitePersistence(config.get("Database", "path")) # truncate all tables from previous run. # DO NOT INCLUDE IN PRODUCTION CODE, otherwise you will overwrite your data each time the program is started. db.truncate_all_tables() # Seed the database with items. for i in range(1, 31): item = Item() item.rig = "X0%i" % i item.description = "Something that needs to be handed over" item.case = "CAS-12345" db.save(item) # Complete random items. for i in range(1, 31): rand = random.random() # Items with lower ids are more likely to be completed than items with higher ids. if (rand * 2) + ((31 - i) / 30) > 1: db.complete(Item, i)
def test_get_incomplete_items(self): item2 = Item() item2.rig = "X02" item2.description = "Another description" item2.case = "CAS-23456" self._db.save(item2) self._db.complete(Item, 2) incomplete_items = self._db.get_incomplete_items() self.assertEqual(1, len(incomplete_items)) self.assertEqual(self._item.rig, incomplete_items[0].rig)
def test_get_items_completed_in_past_day(self): item2 = Item() item2.rig = "X02" item2.description = "Another description" item2.case = "CAS-23456" item2.completed_at = datetime.datetime.now() - datetime.timedelta(days=6) self._db.save(item2) self._db.complete(Item, 2) item1 = self._db.find(Item, 1) self._db.find(Item, item1.id) complete_items = self._db.get_items_completed_in_past_day() self.assertEqual(1, complete_items.count())