[Housekeeping] Refactor settings model (#165)

* [WIP] renamed current settings module and tables to have backup suffix

* Created new settings table, schema, and context

* Migrated from old settings module to new one

* Removed settings backup modules

* Added some tests and docs
This commit is contained in:
Kieran
2024-04-04 12:43:17 -07:00
committed by GitHub
parent d9053fff0c
commit 24875eaeac
12 changed files with 171 additions and 183 deletions
@@ -16,7 +16,7 @@ defmodule PinchflatWeb.MediaProfileControllerTest do
@invalid_attrs %{name: nil, output_path_template: nil}
setup do
Settings.set!(:onboarding, false)
Settings.set(onboarding: false)
:ok
end
@@ -35,7 +35,7 @@ defmodule PinchflatWeb.MediaProfileControllerTest do
end
test "renders correct layout when onboarding", %{conn: conn} do
Settings.set!(:onboarding, true)
Settings.set(onboarding: true)
conn = get(conn, ~p"/media_profiles/new")
refute html_response(conn, 200) =~ "MENU"
@@ -59,14 +59,14 @@ defmodule PinchflatWeb.MediaProfileControllerTest do
end
test "redirects to onboarding when onboarding", %{conn: conn} do
Settings.set!(:onboarding, true)
Settings.set(onboarding: true)
conn = post(conn, ~p"/media_profiles", media_profile: @create_attrs)
assert redirected_to(conn) == ~p"/?onboarding=1"
end
test "renders correct layout on error when onboarding", %{conn: conn} do
Settings.set!(:onboarding, true)
Settings.set(onboarding: true)
conn = post(conn, ~p"/media_profiles", media_profile: @invalid_attrs)
refute html_response(conn, 200) =~ "MENU"
@@ -10,7 +10,7 @@ defmodule PinchflatWeb.PageControllerTest do
end
test "displays the onboarding page when onboarding is forced", %{conn: conn} do
Settings.set!(:onboarding, false)
Settings.set(onboarding: false)
conn = get(conn, ~p"/?onboarding=1")
assert html_response(conn, 200) =~ "Welcome to Pinchflat"
@@ -25,7 +25,7 @@ defmodule PinchflatWeb.PageControllerTest do
end
test "displays the home page when not onboarding", %{conn: conn} do
Settings.set!(:onboarding, false)
Settings.set(onboarding: false)
conn = get(conn, ~p"/")
assert html_response(conn, 200) =~ "MENU"
@@ -13,7 +13,7 @@ defmodule PinchflatWeb.SourceControllerTest do
setup do
media_profile = media_profile_fixture()
Settings.set!(:onboarding, false)
Settings.set(onboarding: false)
{
:ok,
@@ -47,7 +47,7 @@ defmodule PinchflatWeb.SourceControllerTest do
end
test "renders correct layout when onboarding", %{conn: conn} do
Settings.set!(:onboarding, true)
Settings.set(onboarding: true)
conn = get(conn, ~p"/sources/new")
refute html_response(conn, 200) =~ "MENU"
@@ -74,14 +74,14 @@ defmodule PinchflatWeb.SourceControllerTest do
test "redirects to onboarding when onboarding", %{conn: conn, create_attrs: create_attrs} do
expect(YtDlpRunnerMock, :run, 1, &runner_function_mock/3)
Settings.set!(:onboarding, true)
Settings.set(onboarding: true)
conn = post(conn, ~p"/sources", source: create_attrs)
assert redirected_to(conn) == ~p"/?onboarding=1"
end
test "renders correct layout on error when onboarding", %{conn: conn, invalid_attrs: invalid_attrs} do
Settings.set!(:onboarding, true)
Settings.set(onboarding: true)
conn = post(conn, ~p"/sources", source: invalid_attrs)
refute html_response(conn, 200) =~ "MENU"