def test_add_article_3(self): # Given articles = [] 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)) article = Article('1', ["mlotek", "hammer"], 1, 2, False) article2 = Article('2', ["mlotek2", "hammer2"], 3, 6, False) expected = [ Article('1', ["mlotek", "hammer"], 1, 2, False), Article('2', ["mlotek2", "hammer2"], 3, 6, False) ] # When db.add_article(article) db.add_article(article) db.add_article(article2) # Then self.assertListEqual(expected, db.get_all_articles())
def i_change_to_not_available_article(step, number): config_manager = ConfigManager() config_manager.db_path = world.path_db db_file_connector = DbFileConnector(config_manager) db = DBConnector(db_file_connector) new_obj = db.change_article_availability(number, False) if new_obj: db.remove_article_by_id(number) db.add_article(new_obj) 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()
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_add_article(step): article = None for article_dict in deepcopy(step.hashes): if article_dict['is_available'] == 'no': article_dict['is_available'] = False else: article_dict['is_available'] = True name = [article_dict['name_pl'], article_dict['name_en']] article = Article('3', name, int(article_dict['total_quantity']), int(article_dict['quantity']), article_dict['is_available']) config_manager = ConfigManager() config_manager.db_path = world.path_db db_file_connector = DbFileConnector(config_manager) db = DBConnector(db_file_connector) db.add_article(article) world.articles = db.get_all_articles()