summaryrefslogtreecommitdiff
path: root/test/support
diff options
context:
space:
mode:
Diffstat (limited to 'test/support')
-rw-r--r--test/support/conn_case.ex1
-rw-r--r--test/support/data_case.ex1
-rw-r--r--test/support/helpers.ex25
3 files changed, 27 insertions, 0 deletions
diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex
index 2e6707087..d25c28f49 100644
--- a/test/support/conn_case.ex
+++ b/test/support/conn_case.ex
@@ -19,6 +19,7 @@ defmodule Pleroma.Web.ConnCase do
quote do
# Import conveniences for testing with connections
use Phoenix.ConnTest
+ use Pleroma.Tests.Helpers
import Pleroma.Web.Router.Helpers
# The default endpoint for testing
diff --git a/test/support/data_case.ex b/test/support/data_case.ex
index 9dde6b5e5..53e7234d2 100644
--- a/test/support/data_case.ex
+++ b/test/support/data_case.ex
@@ -22,6 +22,7 @@ defmodule Pleroma.DataCase do
import Ecto.Changeset
import Ecto.Query
import Pleroma.DataCase
+ use Pleroma.Tests.Helpers
end
end
diff --git a/test/support/helpers.ex b/test/support/helpers.ex
new file mode 100644
index 000000000..64b6b1900
--- /dev/null
+++ b/test/support/helpers.ex
@@ -0,0 +1,25 @@
+defmodule Pleroma.Tests.Helpers do
+ @moduledoc """
+ Helpers for use in tests.
+ """
+
+ defmacro __using__(_opts) do
+ quote do
+ def refresh_record(%{id: id, __struct__: model} = _),
+ do: refresh_record(model, %{id: id})
+
+ def refresh_record(model, %{id: id} = _) do
+ Pleroma.Repo.get_by(model, id: id)
+ end
+
+ # Used for comparing json rendering during tests.
+ def render_json(view, template, assigns) do
+ assigns = Map.new(assigns)
+
+ view.render(template, assigns)
+ |> Poison.encode!()
+ |> Poison.decode!()
+ end
+ end
+ end
+end