Add settings dialog for Arr connections #21
This commit is contained in:
@@ -31,3 +31,49 @@ def test_index_renders_queue_controls(tmp_path, monkeypatch):
|
||||
assert response.status_code == 200
|
||||
assert "Queue controls" in response.text
|
||||
assert "cancel-current" in response.text
|
||||
|
||||
|
||||
def test_index_renders_settings_dialog(tmp_path, monkeypatch):
|
||||
monkeypatch.setenv("IMPORTARR_STATE_PATH", str(tmp_path / "state.db"))
|
||||
import importarr.main as main
|
||||
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
response = TestClient(main.app).get("/")
|
||||
|
||||
assert response.status_code == 200
|
||||
assert "settings-dialog" in response.text
|
||||
assert "SABnzbd" in response.text
|
||||
assert "Radarr" in response.text
|
||||
assert "Sonarr" in response.text
|
||||
|
||||
|
||||
def test_settings_endpoint_persists_arr_connection_values(tmp_path, monkeypatch):
|
||||
monkeypatch.setenv("IMPORTARR_STATE_PATH", str(tmp_path / "state.db"))
|
||||
import importarr.main as main
|
||||
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
response = TestClient(main.app).post(
|
||||
"/api/settings",
|
||||
json={
|
||||
"sab_url": "http://sab:8080",
|
||||
"sab_api_key": "sab-secret",
|
||||
"radarr_url": "http://radarr:7878",
|
||||
"radarr_api_key": "radarr-secret",
|
||||
"sonarr_url": "http://sonarr:8989",
|
||||
"sonarr_api_key": "sonarr-secret",
|
||||
},
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.json() == {
|
||||
"sab_url": "http://sab:8080",
|
||||
"sab_api_key_configured": True,
|
||||
"radarr_url": "http://radarr:7878",
|
||||
"radarr_api_key_configured": True,
|
||||
"sonarr_url": "http://sonarr:8989",
|
||||
"sonarr_api_key_configured": True,
|
||||
}
|
||||
assert main.settings.sab_api_key == "sab-secret"
|
||||
assert main.state.get_app_state("radarr_api_key") == "radarr-secret"
|
||||
|
||||
Reference in New Issue
Block a user