forked from shibao/cannery
		
	use credo style
This commit is contained in:
		
							
								
								
									
										14
									
								
								.credo.exs
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								.credo.exs
									
									
									
									
									
								
							@@ -157,17 +157,17 @@
 | 
				
			|||||||
        #
 | 
					        #
 | 
				
			||||||
        # Controversial and experimental checks (opt-in, just replace `false` with `[]`)
 | 
					        # Controversial and experimental checks (opt-in, just replace `false` with `[]`)
 | 
				
			||||||
        #
 | 
					        #
 | 
				
			||||||
        {Credo.Check.Consistency.MultiAliasImportRequireUse, false},
 | 
					        {Credo.Check.Consistency.MultiAliasImportRequireUse, []},
 | 
				
			||||||
        {Credo.Check.Consistency.UnusedVariableNames, false},
 | 
					        {Credo.Check.Consistency.UnusedVariableNames, [force: :meaningful]},
 | 
				
			||||||
        {Credo.Check.Design.DuplicatedCode, false},
 | 
					        {Credo.Check.Design.DuplicatedCode, false},
 | 
				
			||||||
        {Credo.Check.Readability.AliasAs, false},
 | 
					        {Credo.Check.Readability.AliasAs, false},
 | 
				
			||||||
        {Credo.Check.Readability.BlockPipe, false},
 | 
					        {Credo.Check.Readability.BlockPipe, false},
 | 
				
			||||||
        {Credo.Check.Readability.ImplTrue, false},
 | 
					        {Credo.Check.Readability.ImplTrue, false},
 | 
				
			||||||
        {Credo.Check.Readability.MultiAlias, false},
 | 
					        {Credo.Check.Readability.MultiAlias, false},
 | 
				
			||||||
        {Credo.Check.Readability.SeparateAliasRequire, false},
 | 
					        {Credo.Check.Readability.SeparateAliasRequire, []},
 | 
				
			||||||
        {Credo.Check.Readability.SinglePipe, false},
 | 
					        {Credo.Check.Readability.SinglePipe, false},
 | 
				
			||||||
        {Credo.Check.Readability.Specs, false},
 | 
					        {Credo.Check.Readability.Specs, false},
 | 
				
			||||||
        {Credo.Check.Readability.StrictModuleLayout, false},
 | 
					        {Credo.Check.Readability.StrictModuleLayout, []},
 | 
				
			||||||
        {Credo.Check.Readability.WithCustomTaggedTuple, false},
 | 
					        {Credo.Check.Readability.WithCustomTaggedTuple, false},
 | 
				
			||||||
        {Credo.Check.Refactor.ABCSize, false},
 | 
					        {Credo.Check.Refactor.ABCSize, false},
 | 
				
			||||||
        {Credo.Check.Refactor.AppendSingleItem, false},
 | 
					        {Credo.Check.Refactor.AppendSingleItem, false},
 | 
				
			||||||
@@ -176,9 +176,9 @@
 | 
				
			|||||||
        {Credo.Check.Refactor.NegatedIsNil, false},
 | 
					        {Credo.Check.Refactor.NegatedIsNil, false},
 | 
				
			||||||
        {Credo.Check.Refactor.PipeChainStart, false},
 | 
					        {Credo.Check.Refactor.PipeChainStart, false},
 | 
				
			||||||
        {Credo.Check.Refactor.VariableRebinding, false},
 | 
					        {Credo.Check.Refactor.VariableRebinding, false},
 | 
				
			||||||
        {Credo.Check.Warning.LeakyEnvironment, false},
 | 
					        {Credo.Check.Warning.LeakyEnvironment, []},
 | 
				
			||||||
        {Credo.Check.Warning.MapGetUnsafePass, false},
 | 
					        {Credo.Check.Warning.MapGetUnsafePass, []},
 | 
				
			||||||
        {Credo.Check.Warning.UnsafeToAtom, false}
 | 
					        {Credo.Check.Warning.UnsafeToAtom, []}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #
 | 
					        #
 | 
				
			||||||
        # Custom checks can be created using `mix credo.gen.check`.
 | 
					        # Custom checks can be created using `mix credo.gen.check`.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,9 @@ defmodule Lokal.Accounts.User do
 | 
				
			|||||||
             :email,
 | 
					             :email,
 | 
				
			||||||
             :confirmed_at,
 | 
					             :confirmed_at,
 | 
				
			||||||
             :role,
 | 
					             :role,
 | 
				
			||||||
             :locale
 | 
					             :locale,
 | 
				
			||||||
 | 
					             :inserted_at,
 | 
				
			||||||
 | 
					             :updated_at
 | 
				
			||||||
           ]}
 | 
					           ]}
 | 
				
			||||||
  @derive {Inspect, except: [:password]}
 | 
					  @derive {Inspect, except: [:password]}
 | 
				
			||||||
  @primary_key {:id, :binary_id, autogenerate: true}
 | 
					  @primary_key {:id, :binary_id, autogenerate: true}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,9 @@ defmodule Lokal.Release do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  def rollback(repo, version) do
 | 
					  def rollback(repo, version) do
 | 
				
			||||||
    load_app()
 | 
					    load_app()
 | 
				
			||||||
    {:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version))
 | 
					
 | 
				
			||||||
 | 
					    {:ok, _fun_return, _apps} =
 | 
				
			||||||
 | 
					      Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version))
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  defp load_app do
 | 
					  defp load_app do
 | 
				
			||||||
@@ -18,7 +20,8 @@ defmodule Lokal.Release do
 | 
				
			|||||||
    load_app()
 | 
					    load_app()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for repo <- Application.fetch_env!(@app, :ecto_repos) do
 | 
					    for repo <- Application.fetch_env!(@app, :ecto_repos) do
 | 
				
			||||||
      {:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true))
 | 
					      {:ok, _fun_return, _apps} =
 | 
				
			||||||
 | 
					        Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true))
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,11 +6,11 @@ defmodule Lokal.Repo.Migrator do
 | 
				
			|||||||
  use GenServer
 | 
					  use GenServer
 | 
				
			||||||
  require Logger
 | 
					  require Logger
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def start_link(_) do
 | 
					  def start_link(_opts) do
 | 
				
			||||||
    GenServer.start_link(__MODULE__, [], [])
 | 
					    GenServer.start_link(__MODULE__, [], [])
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def init(_) do
 | 
					  def init(_opts) do
 | 
				
			||||||
    migrate!()
 | 
					    migrate!()
 | 
				
			||||||
    {:ok, nil}
 | 
					    {:ok, nil}
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,15 +72,16 @@ defmodule LokalWeb do
 | 
				
			|||||||
    quote do
 | 
					    quote do
 | 
				
			||||||
      use Phoenix.Router
 | 
					      use Phoenix.Router
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      import Phoenix.{Controller, LiveView.Router}
 | 
				
			||||||
 | 
					      # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
 | 
				
			||||||
      import Plug.Conn
 | 
					      import Plug.Conn
 | 
				
			||||||
      import Phoenix.Controller
 | 
					 | 
				
			||||||
      import Phoenix.LiveView.Router
 | 
					 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def channel do
 | 
					  def channel do
 | 
				
			||||||
    quote do
 | 
					    quote do
 | 
				
			||||||
      use Phoenix.Channel
 | 
					      use Phoenix.Channel
 | 
				
			||||||
 | 
					      # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
 | 
				
			||||||
      import LokalWeb.Gettext
 | 
					      import LokalWeb.Gettext
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
@@ -88,15 +89,14 @@ defmodule LokalWeb do
 | 
				
			|||||||
  defp view_helpers do
 | 
					  defp view_helpers do
 | 
				
			||||||
    quote do
 | 
					    quote do
 | 
				
			||||||
      # Use all HTML functionality (forms, tags, etc)
 | 
					      # Use all HTML functionality (forms, tags, etc)
 | 
				
			||||||
 | 
					      # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
 | 
				
			||||||
      use Phoenix.HTML
 | 
					      use Phoenix.HTML
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Import LiveView and .heex helpers (live_render, link, <.form>, etc)
 | 
					      # Import LiveView and .heex helpers (live_render, link, <.form>, etc)
 | 
				
			||||||
      import Phoenix.Component
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # Import basic rendering functionality (render, render_layout, etc)
 | 
					      # Import basic rendering functionality (render, render_layout, etc)
 | 
				
			||||||
      import Phoenix.View
 | 
					      import Phoenix.{Component, View}
 | 
				
			||||||
 | 
					 | 
				
			||||||
      import LokalWeb.{ErrorHelpers, Gettext, LiveHelpers, ViewHelpers}
 | 
					      import LokalWeb.{ErrorHelpers, Gettext, LiveHelpers, ViewHelpers}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      alias LokalWeb.Router.Helpers, as: Routes
 | 
					      alias LokalWeb.Router.Helpers, as: Routes
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -124,7 +124,7 @@ defmodule LokalWeb.InviteLive.Index do
 | 
				
			|||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @impl true
 | 
					  @impl true
 | 
				
			||||||
  def handle_event("copy_to_clipboard", _, socket) do
 | 
					  def handle_event("copy_to_clipboard", _params, socket) do
 | 
				
			||||||
    prompt = dgettext("prompts", "Copied to clipboard")
 | 
					    prompt = dgettext("prompts", "Copied to clipboard")
 | 
				
			||||||
    {:noreply, socket |> put_flash(:info, prompt)}
 | 
					    {:noreply, socket |> put_flash(:info, prompt)}
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -49,7 +49,7 @@ defmodule LokalWeb.LiveHelpers do
 | 
				
			|||||||
        id="modal-content"
 | 
					        id="modal-content"
 | 
				
			||||||
        class="fade-in-scale w-full max-w-3xl relative
 | 
					        class="fade-in-scale w-full max-w-3xl relative
 | 
				
			||||||
          pointer-events-auto overflow-hidden
 | 
					          pointer-events-auto overflow-hidden
 | 
				
			||||||
          px-8 py-4 sm:py-8 flex flex-col justify-center items-center
 | 
					          px-8 py-4 sm:py-8
 | 
				
			||||||
          flex flex-col justify-start items-center
 | 
					          flex flex-col justify-start items-center
 | 
				
			||||||
          bg-white border-2 rounded-lg"
 | 
					          bg-white border-2 rounded-lg"
 | 
				
			||||||
      >
 | 
					      >
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,6 @@ defmodule LokalWeb.EmailView do
 | 
				
			|||||||
  @moduledoc """
 | 
					  @moduledoc """
 | 
				
			||||||
  A view for email-related helper functions
 | 
					  A view for email-related helper functions
 | 
				
			||||||
  """
 | 
					  """
 | 
				
			||||||
  alias LokalWeb.{Endpoint, HomeLive}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  use LokalWeb, :view
 | 
					  use LokalWeb, :view
 | 
				
			||||||
 | 
					  alias LokalWeb.{Endpoint, HomeLive}
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ defmodule LokalWeb.ErrorView do
 | 
				
			|||||||
      case error_path do
 | 
					      case error_path do
 | 
				
			||||||
        "404.html" -> dgettext("errors", "Not found")
 | 
					        "404.html" -> dgettext("errors", "Not found")
 | 
				
			||||||
        "401.html" -> dgettext("errors", "Unauthorized")
 | 
					        "401.html" -> dgettext("errors", "Unauthorized")
 | 
				
			||||||
        _ -> dgettext("errors", "Internal Server Error")
 | 
					        _other_path -> dgettext("errors", "Internal Server Error")
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    render("error.html", %{error_string: error_string})
 | 
					    render("error.html", %{error_string: error_string})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -179,22 +179,22 @@ msgstr ""
 | 
				
			|||||||
msgid "You must confirm your account and log in to access this page."
 | 
					msgid "You must confirm your account and log in to access this page."
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/lokal/accounts/user.ex:142
 | 
					#: lib/lokal/accounts/user.ex:144
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "did not change"
 | 
					msgid "did not change"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/lokal/accounts/user.ex:163
 | 
					#: lib/lokal/accounts/user.ex:165
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "does not match password"
 | 
					msgid "does not match password"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/lokal/accounts/user.ex:200
 | 
					#: lib/lokal/accounts/user.ex:202
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "is not valid"
 | 
					msgid "is not valid"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/lokal/accounts/user.ex:97
 | 
					#: lib/lokal/accounts/user.ex:99
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "must have the @ sign and no spaces"
 | 
					msgid "must have the @ sign and no spaces"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -176,22 +176,22 @@ msgstr ""
 | 
				
			|||||||
msgid "You must confirm your account and log in to access this page."
 | 
					msgid "You must confirm your account and log in to access this page."
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/lokal/accounts/user.ex:142
 | 
					#: lib/lokal/accounts/user.ex:144
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "did not change"
 | 
					msgid "did not change"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/lokal/accounts/user.ex:163
 | 
					#: lib/lokal/accounts/user.ex:165
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "does not match password"
 | 
					msgid "does not match password"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/lokal/accounts/user.ex:200
 | 
					#: lib/lokal/accounts/user.ex:202
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "is not valid"
 | 
					msgid "is not valid"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/lokal/accounts/user.ex:97
 | 
					#: lib/lokal/accounts/user.ex:99
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "must have the @ sign and no spaces"
 | 
					msgid "must have the @ sign and no spaces"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -316,7 +316,7 @@ defmodule Lokal.AccountsTest do
 | 
				
			|||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    test "deletes all tokens for the given user", %{user: user} do
 | 
					    test "deletes all tokens for the given user", %{user: user} do
 | 
				
			||||||
      _ = Accounts.generate_user_session_token(user)
 | 
					      _session_token = Accounts.generate_user_session_token(user)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      {:ok, _} =
 | 
					      {:ok, _} =
 | 
				
			||||||
        Accounts.update_user_password(user, valid_user_password(), %{
 | 
					        Accounts.update_user_password(user, valid_user_password(), %{
 | 
				
			||||||
@@ -513,7 +513,7 @@ defmodule Lokal.AccountsTest do
 | 
				
			|||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    test "deletes all tokens for the given user", %{user: user} do
 | 
					    test "deletes all tokens for the given user", %{user: user} do
 | 
				
			||||||
      _ = Accounts.generate_user_session_token(user)
 | 
					      _session_token = Accounts.generate_user_session_token(user)
 | 
				
			||||||
      {:ok, _} = Accounts.reset_user_password(user, %{"password" => "new valid password"})
 | 
					      {:ok, _} = Accounts.reset_user_password(user, %{"password" => "new valid password"})
 | 
				
			||||||
      refute Repo.get_by(UserToken, user_id: user.id)
 | 
					      refute Repo.get_by(UserToken, user_id: user.id)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -116,7 +116,7 @@ defmodule LokalWeb.UserAuthTest do
 | 
				
			|||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    test "does not authenticate if data is missing", %{conn: conn, current_user: current_user} do
 | 
					    test "does not authenticate if data is missing", %{conn: conn, current_user: current_user} do
 | 
				
			||||||
      _ = Accounts.generate_user_session_token(current_user)
 | 
					      _session_token = Accounts.generate_user_session_token(current_user)
 | 
				
			||||||
      conn = UserAuth.fetch_current_user(conn, [])
 | 
					      conn = UserAuth.fetch_current_user(conn, [])
 | 
				
			||||||
      refute get_session(conn, :user_token)
 | 
					      refute get_session(conn, :user_token)
 | 
				
			||||||
      refute conn.assigns.current_user
 | 
					      refute conn.assigns.current_user
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,8 +5,7 @@ defmodule LokalWeb.UserConfirmationControllerTest do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  use LokalWeb.ConnCase, async: true
 | 
					  use LokalWeb.ConnCase, async: true
 | 
				
			||||||
  import LokalWeb.Gettext
 | 
					  import LokalWeb.Gettext
 | 
				
			||||||
  alias Lokal.Accounts
 | 
					  alias Lokal.{Accounts, Repo}
 | 
				
			||||||
  alias Lokal.Repo
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @moduletag :user_confirmation_controller_test
 | 
					  @moduletag :user_confirmation_controller_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,7 +40,7 @@ defmodule LokalWeb.InviteLiveTest do
 | 
				
			|||||||
      #        |> form("#invite-form", invite: @invalid_attrs)
 | 
					      #        |> form("#invite-form", invite: @invalid_attrs)
 | 
				
			||||||
      #        |> render_change() =~ dgettext("errors", "can't be blank")
 | 
					      #        |> render_change() =~ dgettext("errors", "can't be blank")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      {:ok, _, html} =
 | 
					      {:ok, _live, html} =
 | 
				
			||||||
        index_live
 | 
					        index_live
 | 
				
			||||||
        |> form("#invite-form", invite: @create_attrs)
 | 
					        |> form("#invite-form", invite: @create_attrs)
 | 
				
			||||||
        |> render_submit()
 | 
					        |> render_submit()
 | 
				
			||||||
@@ -64,7 +64,7 @@ defmodule LokalWeb.InviteLiveTest do
 | 
				
			|||||||
      #        |> form("#invite-form", invite: @invalid_attrs)
 | 
					      #        |> form("#invite-form", invite: @invalid_attrs)
 | 
				
			||||||
      #        |> render_change() =~ dgettext("errors", "can't be blank")
 | 
					      #        |> render_change() =~ dgettext("errors", "can't be blank")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      {:ok, _, html} =
 | 
					      {:ok, _live, html} =
 | 
				
			||||||
        index_live
 | 
					        index_live
 | 
				
			||||||
        |> form("#invite-form", invite: @update_attrs)
 | 
					        |> form("#invite-form", invite: @update_attrs)
 | 
				
			||||||
        |> render_submit()
 | 
					        |> render_submit()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,12 +5,11 @@ defmodule LokalWeb.ErrorViewTest do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  use LokalWeb.ConnCase, async: true
 | 
					  use LokalWeb.ConnCase, async: true
 | 
				
			||||||
  import LokalWeb.Gettext
 | 
					  import LokalWeb.Gettext
 | 
				
			||||||
 | 
					 | 
				
			||||||
  @moduletag :error_view_test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Bring render/3 and render_to_string/3 for testing custom views
 | 
					  # Bring render/3 and render_to_string/3 for testing custom views
 | 
				
			||||||
  import Phoenix.View
 | 
					  import Phoenix.View
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @moduletag :error_view_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  test "renders 404.html" do
 | 
					  test "renders 404.html" do
 | 
				
			||||||
    assert render_to_string(LokalWeb.ErrorView, "404.html", []) =~
 | 
					    assert render_to_string(LokalWeb.ErrorView, "404.html", []) =~
 | 
				
			||||||
             dgettext("errors", "Not found")
 | 
					             dgettext("errors", "Not found")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,6 +25,7 @@ defmodule LokalWeb.ConnCase do
 | 
				
			|||||||
      # Import conveniences for testing with connections
 | 
					      # Import conveniences for testing with connections
 | 
				
			||||||
      import Plug.Conn
 | 
					      import Plug.Conn
 | 
				
			||||||
      import Phoenix.ConnTest
 | 
					      import Phoenix.ConnTest
 | 
				
			||||||
 | 
					      # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
 | 
				
			||||||
      import Lokal.Fixtures
 | 
					      import Lokal.Fixtures
 | 
				
			||||||
      import LokalWeb.ConnCase
 | 
					      import LokalWeb.ConnCase
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,10 +22,8 @@ defmodule Lokal.DataCase do
 | 
				
			|||||||
      alias Lokal.Repo
 | 
					      alias Lokal.Repo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      import Ecto
 | 
					      import Ecto
 | 
				
			||||||
      import Ecto.Changeset
 | 
					      import Ecto.{Changeset, Query}
 | 
				
			||||||
      import Ecto.Query
 | 
					      import Lokal.{DataCase, Fixtures}
 | 
				
			||||||
      import Lokal.DataCase
 | 
					 | 
				
			||||||
      import Lokal.Fixtures
 | 
					 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -45,7 +43,7 @@ defmodule Lokal.DataCase do
 | 
				
			|||||||
  """
 | 
					  """
 | 
				
			||||||
  def errors_on(changeset) do
 | 
					  def errors_on(changeset) do
 | 
				
			||||||
    Ecto.Changeset.traverse_errors(changeset, fn {message, opts} ->
 | 
					    Ecto.Changeset.traverse_errors(changeset, fn {message, opts} ->
 | 
				
			||||||
      Regex.replace(~r"%{(\w+)}", message, fn _, key ->
 | 
					      Regex.replace(~r"%{(\w+)}", message, fn _capture, key ->
 | 
				
			||||||
        opts |> Keyword.get(String.to_existing_atom(key), key) |> to_string()
 | 
					        opts |> Keyword.get(String.to_existing_atom(key), key) |> to_string()
 | 
				
			||||||
      end)
 | 
					      end)
 | 
				
			||||||
    end)
 | 
					    end)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user