Added some tests and docs

This commit is contained in:
Kieran Eglin 2024-04-04 12:38:36 -07:00
parent f67955b1b6
commit 9965b58e81
No known key found for this signature in database
GPG key ID: 193984967FCF432D
2 changed files with 34 additions and 7 deletions

View file

@ -1,4 +1,8 @@
defmodule Pinchflat.Settings.Setting do
@moduledoc """
The Setting schema.
"""
use Ecto.Schema
import Ecto.Changeset

View file

@ -1,20 +1,43 @@
defmodule Pinchflat.Boot.PreJobStartupTasksTest do
use Pinchflat.DataCase
import Pinchflat.JobFixtures
alias Pinchflat.Settings
alias Pinchflat.Boot.PreJobStartupTasks
# TODO: write tests for things like cookie file creation
describe "reset_executing_jobs" do
test "resets executing jobs" do
job = job_fixture()
Repo.update_all(Oban.Job, set: [state: "executing"])
assert Repo.reload!(job).state == "executing"
PreJobStartupTasks.start_link()
assert Repo.reload!(job).state == "retryable"
end
end
describe "create_blank_cookie_file" do
test "creates a blank cookie file" do
base_dir = Application.get_env(:pinchflat, :extras_directory)
filepath = Path.join(base_dir, "cookies.txt")
File.rm(filepath)
refute File.exists?(filepath)
PreJobStartupTasks.start_link()
assert File.exists?(filepath)
end
end
describe "apply_default_settings" do
setup do
test "sets default settings" do
Settings.set(yt_dlp_version: nil)
:ok
end
test "sets default settings" do
assert Settings.get!(:yt_dlp_version) == nil
refute Settings.get!(:yt_dlp_version)
PreJobStartupTasks.start_link()