예제 #1
0
    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())
예제 #2
0
파일: steps.py 프로젝트: arturmen/PE2020
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()
예제 #3
0
파일: steps.py 프로젝트: arturmen/PE2020
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()
예제 #4
0
파일: steps.py 프로젝트: arturmen/PE2020
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()
예제 #5
0
파일: steps.py 프로젝트: arturmen/PE2020
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()