X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fsupport%2Fhelpers.ex;h=26281b45e74dd5a9d5bba84321b755d590a70bf9;hb=6afc6717d642060b086d01c2bfff5ead0aad1273;hp=db2f08c8139c933b6a5fb6f6878afa6d124612a0;hpb=d536a00d42e2d6747961755fd28f3dd1f646148e;p=akkoma
diff --git a/test/support/helpers.ex b/test/support/helpers.ex
index db2f08c81..26281b45e 100644
--- a/test/support/helpers.ex
+++ b/test/support/helpers.ex
@@ -1,5 +1,5 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors
+# Copyright © 2017-2020 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Tests.Helpers do
@@ -17,35 +17,17 @@ defmodule Pleroma.Tests.Helpers do
defmacro clear_config(config_path, do: yield) do
quote do
- setup do
- initial_setting = Config.get(unquote(config_path))
- unquote(yield)
- on_exit(fn -> Config.put(unquote(config_path), initial_setting) end)
- :ok
- end
- end
- end
-
- @doc "Stores initial config value and restores it after *all* test examples are executed."
- defmacro clear_config_all(config_path) do
- quote do
- clear_config_all(unquote(config_path)) do
- end
+ initial_setting = Config.get(unquote(config_path))
+ unquote(yield)
+ on_exit(fn -> Config.put(unquote(config_path), initial_setting) end)
+ :ok
end
end
- @doc """
- Stores initial config value and restores it after *all* test examples are executed.
- Only use if *all* test examples should work with the same stubbed value
- (*no* examples set a different value).
- """
- defmacro clear_config_all(config_path, do: yield) do
+ defmacro clear_config(config_path, temp_setting) do
quote do
- setup_all do
- initial_setting = Config.get(unquote(config_path))
- unquote(yield)
- on_exit(fn -> Config.put(unquote(config_path), initial_setting) end)
- :ok
+ clear_config(unquote(config_path)) do
+ Config.put(unquote(config_path), unquote(temp_setting))
end
end
end
@@ -55,17 +37,21 @@ defmodule Pleroma.Tests.Helpers do
import Pleroma.Tests.Helpers,
only: [
clear_config: 1,
- clear_config: 2,
- clear_config_all: 1,
- clear_config_all: 2
+ clear_config: 2
]
- def to_datetime(naive_datetime) do
+ def to_datetime(%NaiveDateTime{} = naive_datetime) do
naive_datetime
|> DateTime.from_naive!("Etc/UTC")
|> DateTime.truncate(:second)
end
+ def to_datetime(datetime) when is_binary(datetime) do
+ datetime
+ |> NaiveDateTime.from_iso8601!()
+ |> to_datetime()
+ end
+
def collect_ids(collection) do
collection
|> Enum.map(& &1.id)