def test_display_bars_financials_load_data(mocker):
    # MOCK VISUALIZE_OUTPUT
    mocker.patch(
        target=
        "gamestonk_terminal.helper_classes.TerminalStyle.visualize_output")

    # MOCK EXPORT_DATA
    mocker.patch(
        target="gamestonk_terminal.stocks.options.yfinance_view.export_data")

    # MOCK GET_STOCKS_DATA
    target = "gamestonk_terminal.stocks.sector_industry_analysis.financedatabase_model.get_stocks_data"
    mocker.patch(target=target, return_value=GET_STOCKS_DATA_DICT)

    financedatabase_view.display_bars_financials(
        finance_key="defaultKeyStatistics",
        finance_metric="operatingCashflow",
        country="Georgia",
        sector="Industrials",
        industry="Conglomerates",
        marketcap="",
        exclude_exchanges=True,
        limit=10,
        export="",
        raw=False,
        already_loaded_stocks_data=GET_STOCKS_DATA_DICT,
    )
def test_display_bars_financials_load_data(mocker):
    # MOCK GTFF
    mocker.patch.object(target=financedatabase_view.gtff,
                        attribute="USE_ION",
                        new=True)

    # MOCK CHARTS
    mocker.patch(
        target="gamestonk_terminal.stocks.options.yfinance_view.plt.ion")
    mocker.patch(
        target="gamestonk_terminal.stocks.options.yfinance_view.plt.show")

    # MOCK EXPORT_DATA
    mocker.patch(
        target="gamestonk_terminal.stocks.options.yfinance_view.export_data")

    # MOCK GET_STOCKS_DATA
    target = "gamestonk_terminal.stocks.sector_industry_analysis.financedatabase_model.get_stocks_data"
    mocker.patch(target=target, return_value=GET_STOCKS_DATA_DICT)

    financedatabase_view.display_bars_financials(
        finance_key="defaultKeyStatistics",
        finance_metric="operatingCashflow",
        country="Georgia",
        sector="Industrials",
        industry="Conglomerates",
        marketcap="",
        exclude_exchanges=True,
        limit=10,
        export="",
        raw=False,
        already_loaded_stocks_data=GET_STOCKS_DATA_DICT,
    )
예제 #3
0
    def call_metric(self, other_args: List[str]):
        """Process metric command"""
        parser = argparse.ArgumentParser(
            add_help=False,
            formatter_class=argparse.ArgumentDefaultsHelpFormatter,
            prog="metric",
            description=
            "Visualize a particular metric with the filters selected",
        )
        parser.add_argument(
            "-m",
            "--metric",
            dest="metric",
            required="-h" not in other_args,
            help="Metric to visualize",
            choices=self.metric_choices,
        )
        parser.add_argument(
            "-l",
            "--limit",
            dest="limit",
            default=10,
            help="Limit number of companies to display",
            type=check_positive,
        )
        parser.add_argument(
            "-r",
            "--raw",
            action="store_true",
            dest="raw",
            default=False,
            help="Output all raw data",
        )

        if other_args and "-" not in other_args[0][0]:
            other_args.insert(0, "-m")
        ns_parser = parse_known_args_and_warn(
            parser, other_args, EXPORT_BOTH_RAW_DATA_AND_FIGURES)
        if ns_parser:
            (
                self.stocks_data,
                self.tickers,
            ) = financedatabase_view.display_bars_financials(
                self.metric_yf_keys[ns_parser.metric][0],
                self.metric_yf_keys[ns_parser.metric][1],
                self.country,
                self.sector,
                self.industry,
                self.mktcap,
                self.exclude_exchanges,
                ns_parser.limit,
                ns_parser.export,
                ns_parser.raw,
                self.stocks_data,
            )