def test_add_article_quantity(self): # Given articles = [{ "id": "1", "name": ["mlotek", "hammer"], "total_quantity": 22, "quantity": 2, "is_available": True }, { "id": "2", "name": ["wiertarka", "driller"], "total_quantity": 22, "quantity": 2, "is_available": False }] with open(self.config_file_name, "w") as f: json.dump(articles, f) config_manager = ConfigManager() config_manager.db_path = self.config_file_name db = DBConnector(DbFileConnector(config_manager)) search_id = '2' expected = Article('2', ["wiertarka", "driller"], 22, 22, True) search_id_2 = '1' expected_2 = Article('1', ["mlotek", "hammer"], 22, 12, True) # When article = db.add_article_quantity(search_id, 20, True) article_2 = db.add_article_quantity(search_id_2, 10, True) # Then self.assertEqual(expected, article) self.assertEqual(expected_2, article_2)
def i_borrow_article(step, qty, id): config_manager = ConfigManager() config_manager.db_path = world.path_db db_file_connector = DbFileConnector(config_manager) db = DBConnector(db_file_connector) if db.get_article_by_id( id).is_available and db.get_article_by_id(id).quantity >= int(qty): if db.get_article_by_id(id).quantity == int(qty): article = db.add_article_quantity(id, -int(qty), False) else: article = db.add_article_quantity(id, -int(qty), True) db.remove_article_by_id(id) db.add_article(article) world.articles = db.get_all_articles()
def i_borrow_article(step, qty, id): config_manager = ConfigManager() config_manager.db_path = world.path_db db_file_connector = DbFileConnector(config_manager) db = DBConnector(db_file_connector) if db.get_article_by_id(id).quantity + int(qty) <= db.get_article_by_id( id).total_quantity: article = db.add_article_quantity(id, int(qty), True) db.remove_article_by_id(id) db.add_article(article) world.articles = db.get_all_articles()