Exemple #1
0
    def test_remove_article_by_id(self):
        # Given
        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 2,
            "quantity": 1,
            "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))

        article_id = '1'
        expected = []

        # When
        db.remove_article_by_id(article_id)

        # Then
        self.assertListEqual(expected, db.get_all_articles())
Exemple #2
0
    def test_get_all_articles(self):
        # Given
        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 2,
            "quantity": 3,
            "is_available": True
        }, {
            "id": "2",
            "name": ["wiertarka", "driller"],
            "total_quantity": 4,
            "quantity": 5,
            "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_file_connector = DbFileConnector(config_manager)
        db = DBConnector(db_file_connector)

        expected = [
            Article('1', ["mlotek", "hammer"], 2, 3, True),
            Article('2', ["wiertarka", "driller"], 4, 5, False)
        ]

        # When
        articles = db.get_all_articles()

        # Then
        self.assertListEqual(expected, articles)
Exemple #3
0
    def test_display_history_command(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        logs = [{
            'id': '1',
            'logs': [{
                "data": "12-11-2020",
                "text": "Returned 1"
            }]
        }]

        with open(self.logger_file_name, "w") as f:
            json.dump(logs, f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = "+------------+------------+" + "\n" \
                   + "|    DATE    |    TEXT    |" + "\n" \
                   + "+------------+------------+" + "\n" \
                   + "| 12-11-2020 | 1 RETURNED |" + "\n" \
                   + "+------------+------------+"

        # When
        with mock.patch('builtins.input', return_value="1"):
            with patch('sys.stdout', new=StringIO()) as result:
                INVOKER.execute('4')

        # Then
        self.assertEqual(expected, result.getvalue())
Exemple #4
0
    def test_return_article_command_2(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        articles = [{
            "id": "18",
            "is_available": True,
            "name": ["Paczka", "Package"],
            "quantity": 150,
            "total_quantity": 250
        }]

        with open(self.database_file_name, "w") as f:
            json.dump(articles, f)

        with open(self.logger_file_name, "w") as f:
            json.dump([], f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = [Article('18', ["Paczka", "Package"], 250, 150, True)]

        # When
        with mock.patch('builtins.input', side_effect=["18", "101", "\n"]):
            with patch('sys.stdout', new=StringIO()):
                INVOKER.execute('14')

        # Then
        self.assertEqual(str(expected[0]),
                         str(db.get_articles_by_name('Paczka')[0]))
Exemple #5
0
    def test_save_config_command(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        config = {
            'db_path': 'db.json',
            'language': 'pl',
            'logger_path': 'logger.json'
        }
        with open(self.config_file_name, "w") as f:
            json.dump(config, f)
        config_manager = ConfigManager(self.config_file_name)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = "INFO: CONFIGURATION_SAVED\n"

        with mock.patch('builtins.input', return_value="1"):
            with patch('sys.stdout', new=StringIO()) as result:
                INVOKER.execute('12')

        # Then
        self.assertEqual(result.getvalue(), expected)
Exemple #6
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())
Exemple #7
0
def i_get_article_by_id(step, id):
    config_manager = ConfigManager()
    config_manager.db_path = world.path_db
    db_file_connector = DbFileConnector(config_manager)
    db = DBConnector(db_file_connector)
    article = db.get_article_by_id(id)
    world.articles = [db.get_article_by_id(id)] if article else list()
Exemple #8
0
def i_remove_article(step, number):
    config_manager = ConfigManager()
    config_manager.db_path = world.path_db
    db_file_connector = DbFileConnector(config_manager)
    db = DBConnector(db_file_connector)
    db.remove_article_by_id(number)
    world.articles = db.get_all_articles()
Exemple #9
0
    def test_change_status_command(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        articles = [{
            "id": "3",
            "is_available": True,
            "name": ["Szalik", "Scarf"],
            "quantity": 1,
            "total_quantity": 1
        }]

        with open(self.database_file_name, "w") as f:
            json.dump(articles, f)

        with open(self.logger_file_name, "w") as f:
            json.dump([], f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = [Article('3', ["Szalik", "Scarf"], 1, 1, False)]

        # When
        with mock.patch('builtins.input', side_effect=["3", "1", "1"]):
            with patch('sys.stdout', new=StringIO()):
                INVOKER.execute('9')

        self.assertEqual(str(expected[0]),
                         str(db.get_articles_by_name('szalik')[0]))
Exemple #10
0
    def test_get_articles_by_name(self):
        # Given
        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 20,
            "quantity": 5,
            "is_available": True
        }, {
            "id": "2",
            "name": ["wiertarka", "driller"],
            "total_quantity": 10,
            "quantity": 8,
            "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_string = 'rka'
        expected = [Article('2', ["wiertarka", "driller"], 10, 8, False)]

        # When
        articles = db.get_articles_by_name(search_string)

        # Then
        self.assertListEqual(expected, articles)
Exemple #11
0
    def test_get_articles_by_borrowed(self):
        # Given
        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 2,
            "quantity": 2,
            "is_available": True
        }, {
            "id": "2",
            "name": ["wiertarka", "driller"],
            "total_quantity": 3,
            "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))

        expected = Article("2", ["wiertarka", "driller"], 3, 2, False)

        # When
        article = db.get_articles_by_borrowed()[0]

        # Then
        self.assertEqual(expected, article)
Exemple #12
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)
Exemple #13
0
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()
Exemple #14
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()
Exemple #15
0
    def test_display_full_history_command(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 2,
            "quantity": 2,
            "is_available": True
        }, {
            "id": "2",
            "name": ["wiertarka", "driller"],
            "total_quantity": 2,
            "quantity": 2,
            "is_available": False
        }]

        with open(self.database_file_name, "w") as f:
            json.dump(articles, f)
        logs = [{
            'id': '1',
            'logs': [{
                "data": "08-05-2020",
                "text": "Returned 1"
            }]
        }]

        with open(self.logger_file_name, "w") as f:
            json.dump(logs, f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = "+----+------------+------------+" + "\n" \
                   + "| ID |    DATE    |    TEXT    |" + "\n" \
                   + "+----+------------+------------+" + "\n" \
                   + "| 1  | 08-05-2020 | 1 RETURNED |" + "\n" \
                   + "+----+------------+------------+"

        # When
        with patch('sys.stdout', new=StringIO()) as result:
            with mock.patch('builtins.input', return_value="2"):
                INVOKER.execute('3')

        # Then
        self.assertEqual(expected, result.getvalue())
Exemple #16
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()
Exemple #17
0
    def test_display_borrowed_articles_command(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        articles = [{
            "id": "18",
            "is_available": True,
            "name": ["Paczka", "Package"],
            "quantity": 150,
            "total_quantity": 250
        }]

        with open(self.database_file_name, "w") as f:
            json.dump(articles, f)

        logs = [{
            "id":
            "18",
            "logs": [{
                "data": "2020-06-22",
                "text": "Added"
            }, {
                "data": "2020-06-22",
                "text": "Borrowed 100"
            }]
        }]

        with open(self.logger_file_name, "w") as f:
            json.dump(logs, f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = "+----+---------+------------------+----------------+----------+--------------+" + "\n" \
                   + "| ID |   NAME  | NAME_SECOND_LANG | TOTAL_QUANTITY | QUANTITY | AVAILABILITY |" + "\n" \
                   + "+----+---------+------------------+----------------+----------+--------------+" + "\n" \
                   + "| 18 | Package |      Paczka      |      250       |   150    |     YES      |" + "\n" \
                   + "+----+---------+------------------+----------------+----------+--------------+"

        # When
        with patch('sys.stdout', new=StringIO()) as result:
            with mock.patch('builtins.input', return_value="1"):
                INVOKER.execute('2')

        # Then
        self.assertEqual(expected, result.getvalue())
Exemple #18
0
    def test_add_article_command(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        logs = [{
            'id': '1',
            'logs': [{
                "data": "08-05-2020",
                "text": "Returned 1"
            }]
        }, {
            'id':
            '2',
            'logs': [{
                "data": "08-05-2020",
                "text": "Borrowed 1"
            }, {
                "data": "07-05-2020",
                "text": "Deleted"
            }]
        }]

        with open(self.database_file_name, "w") as f:
            json.dump([], f)

        with open(self.logger_file_name, "w") as f:
            json.dump(logs, f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = [Article('3', ["szalik", "scarf"], 1, 1, True)]

        # When
        with mock.patch('builtins.input',
                        side_effect=["scarf", "szalik", "1", "1"]):
            with patch('sys.stdout', new=StringIO()):
                INVOKER.execute('5')

        self.assertEqual(expected, db.get_articles_by_name('scarf'))
Exemple #19
0
    def test_get_all_articles_2(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_file_connector = DbFileConnector(config_manager)
        db = DBConnector(db_file_connector)

        expected = []

        # When
        articles = db.get_all_articles()

        # Then
        self.assertListEqual(expected, articles)
Exemple #20
0
    def test_display_all_articles_command(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 20,
            "quantity": 2,
            "is_available": True
        }, {
            "id": "2",
            "name": ["wiertarka", "driller"],
            "total_quantity": 30,
            "quantity": 5,
            "is_available": False
        }]

        with open(self.database_file_name, "w") as f:
            json.dump(articles, f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = "+----+---------+------------------+----------------+----------+--------------+" + "\n" \
                   + "| ID |   NAME  | NAME_SECOND_LANG | TOTAL_QUANTITY | QUANTITY | AVAILABILITY |" + "\n" \
                   + "+----+---------+------------------+----------------+----------+--------------+" + "\n" \
                   + "| 1  |  hammer |      mlotek      |       20       |    2     |     YES      |" + "\n" \
                   + "| 2  | driller |    wiertarka     |       30       |    5     |      NO      |" + "\n" \
                   + "+----+---------+------------------+----------------+----------+--------------+"

        # When
        with patch('sys.stdout', new=StringIO()) as result:
            with mock.patch('builtins.input', return_value="1"):
                INVOKER.execute('1')

        # Then
        self.assertEqual(expected, result.getvalue())
Exemple #21
0
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()
Exemple #22
0
    def test_change_config_command(self):
        # Given
        config = {
            'db_path': 'db.json',
            'language': 'en',
            'logger_path': 'logger.json'
        }
        with open(self.config_file_name, "w") as f:
            json.dump(config, f)

        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        config = {
            'db_path': 'db.json',
            'language': 'en',
            'logger_path': 'logger.json'
        }
        with open(self.config_file_name, "w") as f:
            json.dump(config, f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = "CONFIGURATION_CHANGE" + "\n" \
                   + "1: \"language\"" + "\n" \
                   + "2: \"db_path\"" + "\n" \
                   + "3: \"logger_path\"" + "\n" \
                   + "INFO: NO_SUCH_ATTRIBUTE\n"

        # When
        with mock.patch('builtins.input', return_value="db_path"):
            with mock.patch('builtins.input', return_value="0"):
                with patch('sys.stdout', new=StringIO()) as result:
                    INVOKER.execute('11')

        # Then
        self.assertEqual(expected, result.getvalue())
Exemple #23
0
    def test_get_articles_by_availability(self):
        # Given
        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 2,
            "quantity": 2,
            "is_available": True
        }, {
            "id": "2",
            "name": ["wiertarka", "driller"],
            "total_quantity": 2,
            "quantity": 3,
            "is_available": False
        }, {
            "id": "3",
            "name": ["wiertarka2", "driller2"],
            "total_quantity": 40,
            "quantity": 0,
            "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))

        available = False
        expected = [
            Article('2', ["wiertarka", "driller"], 2, 3, False),
            Article('3', ["wiertarka2", "driller2"], 40, 0, False)
        ]

        # When
        articles = db.get_articles_by_availability(available)

        # Then
        self.assertListEqual(expected, articles)
Exemple #24
0
    def test_borrow_article_command2(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 4,
            "quantity": 1,
            "is_available": True
        }, {
            "id": "2",
            "name": ["wiertarka", "driller"],
            "total_quantity": 2,
            "quantity": 2,
            "is_available": False
        }]

        with open(self.database_file_name, "w") as f:
            json.dump(articles, f)

        with open(self.logger_file_name, "w") as f:
            json.dump([], f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        # When
        with mock.patch('builtins.input', side_effect=["1", "2", "\n"]):
            with patch('sys.stdout', new=StringIO()):
                INVOKER.execute('13')

        # Then
        expected = [Article('1', ["mlotek", "hammer"], 4, 1, True)]
        self.assertEqual(str(expected[0]),
                         str(db.get_articles_by_name('mlotek')[0]))
Exemple #25
0
    def test_remove_article_by_id_2(self):
        # Given
        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 2,
            "quantity": 2,
            "is_available": True
        }, {
            "id": "2",
            "name": ["wiertarka", "driller"],
            "total_quantity": 2,
            "quantity": 3,
            "is_available": False
        }, {
            "id": "3",
            "name": ["wiertarka2", "driller2"],
            "total_quantity": 40,
            "quantity": 0,
            "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))

        article_id = '2'
        expected = [
            Article('1', ["mlotek", "hammer"], 2, 2, True),
            Article('3', ["wiertarka2", "driller2"], 40, 0, False)
        ]
        # When
        db.remove_article_by_id(article_id)
        actual = db.get_all_articles()

        self.assertListEqual(expected, actual)
Exemple #26
0
    def test_delete_article_command(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        articles = [{
            "id": "1",
            "name": ["mlotek", "hammer"],
            "total_quantity": 2,
            "quantity": 2,
            "is_available": True
        }, {
            "id": "2",
            "name": ["wiertarka", "driller"],
            "total_quantity": 2,
            "quantity": 2,
            "is_available": False
        }]

        with open(self.database_file_name, "w") as f:
            json.dump(articles, f)

        with open(self.logger_file_name,
                  "w") as f:  # rozroznienie na pliki db i loggera
            json.dump([], f)

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        # When
        with mock.patch('builtins.input', return_value="1"):
            with patch('sys.stdout', new=StringIO()):
                INVOKER.execute('6')

        # Then
        self.assertEqual(db.get_article_by_id("1"), False)
Exemple #27
0
    def test_display_config_command(self):
        # Given
        config_manager = ConfigManager()
        app_info_logger = AppInfoLogger()
        db = DBConnector(DbFileConnector(config_manager))
        logger = LoggerConnector(LoggerFileConnector(config_manager))
        config_manager.db_path = self.database_file_name
        config_manager.logger_path = self.logger_file_name

        INVOKER = Invoker(db, logger, config_manager, app_info_logger)

        expected = "CURRENT_CONFIGURATION" + "\n" \
                   + "language: \"en\"" + "\n" \
                   + "db_path: \"test_interface_database.json\"" + "\n" \
                   + "logger_path: \"test_interface_logger.json\"" + "\n"

        # When
        with mock.patch('builtins.input', return_value="1"):
            with patch('sys.stdout', new=StringIO()) as result:
                INVOKER.execute('10')

        # Then
        self.assertEqual(expected, result.getvalue())
Exemple #28
0
def i_show_articles(step):
    config_manager = ConfigManager()
    config_manager.db_path = world.path_db
    db_file_connector = DbFileConnector(config_manager)
    db = DBConnector(db_file_connector)
    world.articles = db.get_all_articles()
Exemple #29
0
def i_show_available_articles(step):
    config_manager = ConfigManager()
    config_manager.db_path = world.path_db
    db_file_connector = DbFileConnector(config_manager)
    db = DBConnector(db_file_connector)
    world.articles = db.get_articles_by_availability(True)
Exemple #30
0
def i_get_article_by_name(step, name):
    config_manager = ConfigManager()
    config_manager.db_path = world.path_db
    db_file_connector = DbFileConnector(config_manager)
    db = DBConnector(db_file_connector)
    world.articles = db.get_articles_by_name(name)