Esempio n. 1
0
    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)
Esempio n. 2
0
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()
Esempio n. 3
0
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()