[Housekeeping] Improve test stability (#232)
* Ensured all tests use at least the DataCase module * addressed one flakey test * More flakey tests * Consolidated Mox usage
This commit is contained in:
parent
b5d2ba4191
commit
933daf8c78
39 changed files with 51 additions and 83 deletions
|
|
@ -18,7 +18,9 @@
|
|||
</div>
|
||||
<div class="no-scrollbar flex flex-col overflow-y-auto duration-300 ease-linear">
|
||||
<nav class="mt-3 px-4 py-4 lg:px-6">
|
||||
<h3 class="mb-4 ml-4 text-sm font-medium text-bodydark2">MENU</h3>
|
||||
<h3 class="mb-4 ml-4 text-sm font-medium text-bodydark2">
|
||||
<span>MENU</span>
|
||||
</h3>
|
||||
<div class="flex flex-col justify-between">
|
||||
<ul class="mb-6 flex flex-col gap-1.5">
|
||||
<.sidebar_item icon="hero-home" text="Home" href={~p"/"} />
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Pinchflat.Boot.PreJobStartupTasksTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.JobFixtures
|
||||
|
||||
alias Pinchflat.Settings
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Pinchflat.Downloading.DownloadingHelpersTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
import Pinchflat.ProfilesFixtures
|
||||
|
|
@ -10,8 +9,6 @@ defmodule Pinchflat.Downloading.DownloadingHelpersTest do
|
|||
alias Pinchflat.Downloading.DownloadingHelpers
|
||||
alias Pinchflat.Downloading.MediaDownloadWorker
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "enqueue_pending_download_tasks/1" do
|
||||
test "it enqueues a job for each pending media item" do
|
||||
source = source_fixture()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Pinchflat.Downloading.MediaDownloadWorkerTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.MediaFixtures
|
||||
|
||||
alias Pinchflat.Media
|
||||
|
|
@ -9,8 +8,6 @@ defmodule Pinchflat.Downloading.MediaDownloadWorkerTest do
|
|||
alias Pinchflat.Utils.FilesystemUtils
|
||||
alias Pinchflat.Downloading.MediaDownloadWorker
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
setup do
|
||||
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end)
|
||||
stub(HTTPClientMock, :get, fn _url, _headers, _opts -> {:ok, ""} end)
|
||||
|
|
|
|||
|
|
@ -1,14 +1,12 @@
|
|||
defmodule Pinchflat.Downloading.MediaDownloaderTest do
|
||||
use Pinchflat.DataCase
|
||||
import Mox
|
||||
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
import Pinchflat.ProfilesFixtures
|
||||
|
||||
alias Pinchflat.Downloading.MediaDownloader
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
setup do
|
||||
media_item =
|
||||
Repo.preload(
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
defmodule Pinchflat.Downloading.MediaRetentionWorkerTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
|
||||
alias Pinchflat.Media
|
||||
alias Pinchflat.Downloading.MediaRetentionWorker
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "perform/1" do
|
||||
setup do
|
||||
stub(UserScriptRunnerMock, :run, fn _event_type, _data -> :ok end)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Downloading.OutputPath.ParserTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Downloading.OutputPath.Parser
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Pinchflat.FastIndexing.FastIndexingHelpersTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
import Pinchflat.ProfilesFixtures
|
||||
|
|
@ -11,8 +10,6 @@ defmodule Pinchflat.FastIndexing.FastIndexingHelpersTest do
|
|||
alias Pinchflat.Downloading.MediaDownloadWorker
|
||||
alias Pinchflat.FastIndexing.FastIndexingHelpers
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "kickoff_download_tasks_from_youtube_rss_feed/1" do
|
||||
setup do
|
||||
stub(YtDlpRunnerMock, :run, fn _url, _opts, _ot ->
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
defmodule Pinchflat.FastIndexing.FastIndexingWorkerTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.SourcesFixtures
|
||||
|
||||
alias Pinchflat.Settings
|
||||
alias Pinchflat.Sources.Source
|
||||
alias Pinchflat.FastIndexing.FastIndexingWorker
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "kickoff_with_task/2" do
|
||||
test "starts the worker" do
|
||||
source = source_fixture(fast_index: true)
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
defmodule Pinchflat.FastIndexing.YoutubeRssTest do
|
||||
use Pinchflat.DataCase
|
||||
import Mox
|
||||
|
||||
import Pinchflat.SourcesFixtures
|
||||
|
||||
alias Pinchflat.FastIndexing.YoutubeRss
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
setup do
|
||||
source = source_fixture()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Lifecycle.Notifications.CommandRunnerTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Lifecycle.Notifications.CommandRunner, as: Runner
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Pinchflat.Lifecycle.Notifications.SourceNotificationsTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
|
||||
|
|
@ -9,8 +8,6 @@ defmodule Pinchflat.Lifecycle.Notifications.SourceNotificationsTest do
|
|||
|
||||
@apprise_servers ["server_1", "server_2"]
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "wrap_new_media_notification/3" do
|
||||
test "sends a notification when the pending count changes" do
|
||||
source = source_fixture()
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Lifecycle.UserScripts.CommandRunnerTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Utils.FilesystemUtils
|
||||
alias Pinchflat.Lifecycle.UserScripts.CommandRunner, as: Runner
|
||||
|
|
@ -15,11 +15,12 @@ defmodule Pinchflat.Lifecycle.UserScripts.CommandRunnerTest do
|
|||
test "runs the provided lifecycle file if present" do
|
||||
# We *love* indirectly testing side effects
|
||||
tmp_dir = Application.get_env(:pinchflat, :tmpfile_directory)
|
||||
File.write(filepath(), "#!/bin/bash\ntouch #{tmp_dir}/test_file\n")
|
||||
filename = "#{tmp_dir}/test_file-#{Enum.random(1..1000)}"
|
||||
File.write(filepath(), "#!/bin/bash\ntouch #{filename}\n")
|
||||
|
||||
refute File.exists?("#{tmp_dir}/test_file")
|
||||
refute File.exists?(filename)
|
||||
assert :ok = Runner.run(:media_downloaded, %{})
|
||||
assert File.exists?("#{tmp_dir}/test_file")
|
||||
assert File.exists?(filename)
|
||||
end
|
||||
|
||||
test "passes the event name to the script" do
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Pinchflat.MediaTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.TasksFixtures
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.ProfilesFixtures
|
||||
|
|
@ -13,8 +12,6 @@ defmodule Pinchflat.MediaTest do
|
|||
|
||||
alias Pinchflat.YtDlp.Media, as: YtDlpMedia
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
@invalid_attrs %{title: nil, media_id: nil, media_filepath: nil}
|
||||
|
||||
describe "schema" do
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
defmodule Pinchflat.Metadata.MetadataFileHelpersTest do
|
||||
use Pinchflat.DataCase
|
||||
import Mox
|
||||
|
||||
import Pinchflat.MediaFixtures
|
||||
|
||||
alias Pinchflat.Metadata.MetadataFileHelpers, as: Helpers
|
||||
|
|
@ -11,8 +11,6 @@ defmodule Pinchflat.Metadata.MetadataFileHelpersTest do
|
|||
{:ok, %{media_item: media_item}}
|
||||
end
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "compress_and_store_metadata_for/2" do
|
||||
test "returns the filepath", %{media_item: media_item} do
|
||||
metadata_map = %{"foo" => "bar"}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
defmodule Pinchflat.Metadata.SourceMetadataStorageWorkerTest do
|
||||
use Pinchflat.DataCase
|
||||
import Mox
|
||||
|
||||
import Pinchflat.SourcesFixtures
|
||||
import Pinchflat.ProfilesFixtures
|
||||
|
||||
|
|
@ -11,8 +11,6 @@ defmodule Pinchflat.Metadata.SourceMetadataStorageWorkerTest do
|
|||
@source_details_ot "%(.{channel,channel_id,playlist_id,playlist_title,filename})j"
|
||||
@metadata_ot "playlist:%()j"
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "kickoff_with_task/1" do
|
||||
test "enqueues a new worker for the source" do
|
||||
source = source_fixture()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Pinchflat.ProfilesTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
import Pinchflat.ProfilesFixtures
|
||||
|
|
@ -11,8 +10,6 @@ defmodule Pinchflat.ProfilesTest do
|
|||
|
||||
@invalid_attrs %{name: nil, output_path_template: nil}
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "schema" do
|
||||
test "can be JSON encoded without error" do
|
||||
profile = media_profile_fixture()
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.SlowIndexing.FileFollowerServerTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias alias Pinchflat.Utils.FilesystemUtils
|
||||
alias Pinchflat.SlowIndexing.FileFollowerServer
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Pinchflat.SlowIndexing.MediaCollectionIndexingWorkerTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.TasksFixtures
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
|
|
@ -13,8 +12,6 @@ defmodule Pinchflat.SlowIndexing.MediaCollectionIndexingWorkerTest do
|
|||
alias Pinchflat.Downloading.MediaDownloadWorker
|
||||
alias Pinchflat.SlowIndexing.MediaCollectionIndexingWorker
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "kickoff_with_task/3" do
|
||||
setup do
|
||||
source = source_fixture(index_frequency_minutes: 10)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Pinchflat.SlowIndexing.SlowIndexingHelpersTest do
|
||||
use Pinchflat.DataCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.TasksFixtures
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
|
|
@ -15,8 +14,6 @@ defmodule Pinchflat.SlowIndexing.SlowIndexingHelpersTest do
|
|||
alias Pinchflat.SlowIndexing.SlowIndexingHelpers
|
||||
alias Pinchflat.SlowIndexing.MediaCollectionIndexingWorker
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "kickoff_indexing_task/3" do
|
||||
test "it schedules a job" do
|
||||
source = source_fixture(index_frequency_minutes: 1)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
defmodule Pinchflat.SourcesTest do
|
||||
use Pinchflat.DataCase
|
||||
import Mox
|
||||
|
||||
import Pinchflat.TasksFixtures
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.ProfilesFixtures
|
||||
|
|
@ -18,8 +18,6 @@ defmodule Pinchflat.SourcesTest do
|
|||
|
||||
@invalid_source_attrs %{name: nil, collection_id: nil}
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "schema" do
|
||||
test "source_metadata is deleted when the source is deleted" do
|
||||
source =
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Utils.ChangesetUtilsTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
defmodule MockSchema do
|
||||
use Ecto.Schema
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Utils.CliUtilsTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Utils.CliUtils
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Utils.DatetimeUtilsTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Utils.DatetimeUtils
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Utils.FunctionUtilsTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Utils.FunctionUtils
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Utils.NumberUtilsTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Utils.NumberUtils
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Utils.StringUtilsTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Utils.StringUtils
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.Utils.XmlUtilsTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Utils.XmlUtils
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Pinchflat.YtDlp.CommandRunnerTest do
|
||||
use ExUnit.Case, async: false
|
||||
use Pinchflat.DataCase
|
||||
|
||||
alias Pinchflat.Utils.FilesystemUtils
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
defmodule Pinchflat.YtDlp.MediaCollectionTest do
|
||||
use Pinchflat.DataCase
|
||||
import Mox
|
||||
|
||||
import Pinchflat.SourcesFixtures
|
||||
|
||||
alias Pinchflat.YtDlp.Media
|
||||
|
|
@ -8,8 +8,6 @@ defmodule Pinchflat.YtDlp.MediaCollectionTest do
|
|||
|
||||
@channel_url "https://www.youtube.com/c/PinchflatTestChannel"
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "get_media_attributes_for_collection/2" do
|
||||
test "returns a list of video attributes with no blank elements" do
|
||||
expect(YtDlpRunnerMock, :run, fn _url, _opts, _ot, _addl_opts ->
|
||||
|
|
|
|||
|
|
@ -1,14 +1,12 @@
|
|||
defmodule Pinchflat.YtDlp.MediaTest do
|
||||
use Pinchflat.DataCase
|
||||
import Mox
|
||||
|
||||
import Pinchflat.MediaFixtures
|
||||
|
||||
alias Pinchflat.YtDlp.Media
|
||||
|
||||
@media_url "https://www.youtube.com/watch?v=TiZPUDkDYbk"
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "download/2" do
|
||||
test "it calls the backend runner with the expected arguments" do
|
||||
expect(YtDlpRunnerMock, :run, fn @media_url, opts, ot, addl ->
|
||||
|
|
|
|||
|
|
@ -1,14 +1,11 @@
|
|||
defmodule PinchflatWeb.MediaItemControllerTest do
|
||||
use PinchflatWeb.ConnCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.MediaFixtures
|
||||
|
||||
alias Pinchflat.Repo
|
||||
alias Pinchflat.Downloading.MediaDownloadWorker
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "show media" do
|
||||
setup [:create_media_item]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
defmodule PinchflatWeb.MediaProfileControllerTest do
|
||||
use PinchflatWeb.ConnCase
|
||||
|
||||
import Mox
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
import Pinchflat.ProfilesFixtures
|
||||
|
|
@ -16,8 +15,6 @@ defmodule PinchflatWeb.MediaProfileControllerTest do
|
|||
}
|
||||
@invalid_attrs %{name: nil, output_path_template: nil}
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
setup do
|
||||
Settings.set(onboarding: false)
|
||||
|
||||
|
|
@ -41,7 +38,7 @@ defmodule PinchflatWeb.MediaProfileControllerTest do
|
|||
Settings.set(onboarding: true)
|
||||
conn = get(conn, ~p"/media_profiles/new")
|
||||
|
||||
refute html_response(conn, 200) =~ "MENU"
|
||||
refute html_response(conn, 200) =~ "<span>MENU</span>"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,10 @@
|
|||
defmodule PinchflatWeb.Settings.AppriseServerLiveTest do
|
||||
use PinchflatWeb.ConnCase
|
||||
|
||||
import Mox
|
||||
import Phoenix.LiveViewTest
|
||||
|
||||
alias Pinchflat.Settings.AppriseServerLive
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "initial rendering" do
|
||||
test "renders the input", %{conn: conn} do
|
||||
{:ok, _view, html} = live_isolated(conn, AppriseServerLive, session: create_session(""))
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
defmodule PinchflatWeb.SourceControllerTest do
|
||||
use PinchflatWeb.ConnCase
|
||||
import Mox
|
||||
|
||||
import Pinchflat.MediaFixtures
|
||||
import Pinchflat.SourcesFixtures
|
||||
|
|
@ -32,8 +31,6 @@ defmodule PinchflatWeb.SourceControllerTest do
|
|||
}
|
||||
end
|
||||
|
||||
setup :verify_on_exit!
|
||||
|
||||
describe "index" do
|
||||
test "lists all sources", %{conn: conn} do
|
||||
conn = get(conn, ~p"/sources")
|
||||
|
|
|
|||
|
|
@ -34,8 +34,10 @@ defmodule PinchflatWeb.Sources.MediaItemTableLiveTest do
|
|||
|
||||
describe "media_state" do
|
||||
test "shows pending media when pending", %{conn: conn, source: source} do
|
||||
downloaded_media_item = media_item_fixture(source_id: source.id)
|
||||
pending_media_item = media_item_fixture(source_id: source.id, media_filepath: nil)
|
||||
downloaded_media_item = media_item_fixture(source_id: source.id, title: "DL-#{Enum.random(0..9999)}")
|
||||
|
||||
pending_media_item =
|
||||
media_item_fixture(source_id: source.id, media_filepath: nil, title: "P-#{Enum.random(0..9999)}")
|
||||
|
||||
{:ok, _view, html} = live_isolated(conn, MediaItemTableLive, session: create_session(source, "pending"))
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ defmodule PinchflatWeb.ConnCase do
|
|||
|
||||
use ExUnit.CaseTemplate
|
||||
|
||||
alias Pinchflat.TestingHelperMethods
|
||||
|
||||
using do
|
||||
quote do
|
||||
# The default endpoint for testing
|
||||
|
|
@ -27,14 +29,19 @@ defmodule PinchflatWeb.ConnCase do
|
|||
use Oban.Testing, repo: Repo
|
||||
|
||||
# Import conveniences for testing with connections
|
||||
|
||||
import Mox
|
||||
import Plug.Conn
|
||||
import Phoenix.ConnTest
|
||||
import PinchflatWeb.ConnCase
|
||||
import Pinchflat.TestingHelperMethods
|
||||
|
||||
setup :verify_on_exit!
|
||||
end
|
||||
end
|
||||
|
||||
setup tags do
|
||||
TestingHelperMethods.create_platform_directories()
|
||||
Pinchflat.DataCase.setup_sandbox(tags)
|
||||
|
||||
conn = Phoenix.ConnTest.build_conn()
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ defmodule Pinchflat.DataCase do
|
|||
"""
|
||||
|
||||
use ExUnit.CaseTemplate
|
||||
alias Pinchflat.TestingHelperMethods
|
||||
|
||||
using do
|
||||
quote do
|
||||
|
|
@ -22,16 +23,21 @@ defmodule Pinchflat.DataCase do
|
|||
|
||||
use Oban.Testing, repo: Repo
|
||||
|
||||
import Mox
|
||||
import Ecto
|
||||
import Ecto.Changeset
|
||||
import Ecto.Query
|
||||
import Pinchflat.DataCase
|
||||
import Pinchflat.TestingHelperMethods
|
||||
|
||||
setup :verify_on_exit!
|
||||
end
|
||||
end
|
||||
|
||||
setup tags do
|
||||
TestingHelperMethods.create_platform_directories()
|
||||
Pinchflat.DataCase.setup_sandbox(tags)
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -54,4 +54,11 @@ defmodule Pinchflat.TestingHelperMethods do
|
|||
|> render_metadata()
|
||||
|> Phoenix.json_library().decode!()
|
||||
end
|
||||
|
||||
def create_platform_directories do
|
||||
File.mkdir_p!(Application.get_env(:pinchflat, :media_directory))
|
||||
File.mkdir_p!(Application.get_env(:pinchflat, :metadata_directory))
|
||||
File.mkdir_p!(Application.get_env(:pinchflat, :extras_directory))
|
||||
File.mkdir_p!(Application.get_env(:pinchflat, :tmpfile_directory))
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue