def setUp(self): super().setUp() category = Category(name='test_category') item = Item(name='test_item') item.category = category db.session.add(item) db.session.commit()
def new_item(category_name, name, description): category = Category.query\ .filter(Category.name == category_name).first() item = Item() item.name = name item.description = description item.category = category item.user_id = login_session['user_id'] db.session.add(item) db.session.commit() return Item.query\ .filter(Item.category == category, Item.name == name).first()
def fake_items(count=20): categories = Category.query.all() while True: try: for _ in range(count): item = Item(name=fake.word()) item.category = random.choice(categories) db.session.add(item) db.session.commit() break except IntegrityError: db.session.rollback() continue
def setUp(self): super().setUp() category = Category(name='test_category') item = Item(name='test_item') item.category = category record_1 = Record(start=datetime(2019, 1, 10, 6, 0, 0), finish=datetime(2019, 1, 10, 7, 0, 0), remark='test_record_1') record_2 = Record(start=datetime(2019, 1, 11, 6, 0, 0), finish=datetime(2019, 1, 11, 7, 0, 0), remark='test_record_2') item.records = [record_1, record_2] db.session.add(item) db.session.commit()
def test_calculation_of_category(self): """ api: /category/<int:category_id>/calculation methods: get: 获取每一个分类下的所有条目的记录的时间总和(秒) """ category = Category.query.first() item = Item(name='test_item') record = Record(start=datetime(2019, 1, 10, 6, 0, 0), finish=datetime(2019, 1, 10, 7, 0, 0)) item.category = category record.item = item db.session.add(record) db.session.commit() res = self.client.get(BASE_URL + '/category/calculation').get_json() self.assertEqual(200, res['status']) self.assertEqual(3600, res['data'][0]['value'])