diff --git a/e2e_tests/test_standalone/test_study_list.py b/e2e_tests/test_standalone/test_study_list.py index e84a7f5a..3c588aed 100644 --- a/e2e_tests/test_standalone/test_study_list.py +++ b/e2e_tests/test_standalone/test_study_list.py @@ -25,7 +25,7 @@ def test_home( assert title == "Optuna Dashboard (Wasm ver.)" -def test_load_storage( +def test_load_rdb_storage( page: Page, server_url: str, ) -> None: @@ -69,3 +69,51 @@ def test_load_storage( count = count_components(page, "MuiCard-root") assert count == 4 + + +def test_load_journal_storage( + page: Page, + server_url: str, +) -> None: + study_name = "single-objective" + url = f"{server_url}" + + def create_storage_file(filename: str): + import optuna + + storage = optuna.storages.JournalStorage( + optuna.storages.JournalFileStorage(f"{filename}"), + ) + study = optuna.create_study(study_name=study_name, storage=storage) + + def objective(trial: optuna.Trial) -> float: + x1 = trial.suggest_float("x1", 0, 10) + x2 = trial.suggest_float("x2", 0, 10) + return (x1 - 2) ** 2 + (x2 - 5) ** 2 + + study.optimize(objective, n_trials=100) + + with tempfile.TemporaryDirectory() as dir: + with tempfile.NamedTemporaryFile() as fp: + filename = fp.name + path = os.path.join(dir, filename) + create_storage_file(filename) + page.goto(url) + with page.expect_file_chooser() as fc_info: + page.get_by_role("button").nth(2).click() + file_chooser = fc_info.value + file_chooser.set_files(path) + + page.get_by_role("link", name=study_name).click() + + def count_components(page: Page, component_name: str): + component_count = page.evaluate( + f"""() => {{ + const components = document.querySelectorAll('.{component_name}'); + return components.length; + }}""" + ) + return component_count + + count = count_components(page, "MuiCard-root") + assert count == 4