Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
blockscout/apps/block_scout_web/test/support/feature_case.ex

39 lines
1.1 KiB

defmodule BlockScoutWeb.FeatureCase do
use ExUnit.CaseTemplate
use Wallaby.DSL
# Types on Wallaby.Browser.resize_window don't allow session from start_session to be passed, so setup breaks
@dialyzer {:nowarn_function, __ex_unit_setup_0: 1}
using do
quote do
use Wallaby.DSL
import Ecto
import Ecto.Changeset
import Ecto.Query
import Explorer.Factory
import BlockScoutWeb.FeatureCase
import BlockScoutWeb.Router.Helpers
alias Explorer.Repo
end
end
setup tags do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(Explorer.Repo)
unless tags[:async] do
Ecto.Adapters.SQL.Sandbox.mode(Explorer.Repo, {:shared, self()})
end
Supervisor.terminate_child(Explorer.Supervisor, {ConCache, Explorer.Chain.Cache.Transactions.cache_name()})
Supervisor.restart_child(Explorer.Supervisor, {ConCache, Explorer.Chain.Cache.Transactions.cache_name()})
metadata = Phoenix.Ecto.SQL.Sandbox.metadata_for(Explorer.Repo, self())
{:ok, session} = Wallaby.start_session(metadata: metadata)
session = Wallaby.Browser.resize_window(session, 1200, 800)
{:ok, session: session}
end
end