Update to refactor tests which check permission for LiveViews.
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -15,31 +15,15 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "Book Index /books" do
|
describe "Book Index /books" do
|
||||||
test "can be accessed by regular user", %{conn: conn, user: user} do
|
test "can be accessed by any user", %{conn: conn, users: users} do
|
||||||
{:ok, _view, html} =
|
for user <- users do
|
||||||
conn
|
{:ok, _view, html} =
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/books")
|
|> log_in_user(user)
|
||||||
|
|> live("/books")
|
||||||
|
|
||||||
assert html =~ "Listing Books"
|
assert html =~ "Listing Books"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator", %{conn: conn, moderator: moderator} do
|
|
||||||
assert {:ok, _view, html} =
|
|
||||||
conn
|
|
||||||
|> log_in_user(moderator)
|
|
||||||
|> live("/books")
|
|
||||||
|
|
||||||
assert html =~ "Listing Books"
|
|
||||||
end
|
|
||||||
|
|
||||||
test "can be accessed by admin", %{conn: conn, admin: admin} do
|
|
||||||
assert {:ok, _view, html} =
|
|
||||||
conn
|
|
||||||
|> log_in_user(admin)
|
|
||||||
|> live("/books")
|
|
||||||
|
|
||||||
assert html =~ "Listing Books"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -64,13 +48,18 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
||||||
for user <- [nil, user] do
|
for user <- [nil, user] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/books/new")
|
|> log_in_user(user)
|
||||||
|
|> live("/books/new")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator and admin", %{conn: conn, moderator: moderator, admin: admin} do
|
test "can be accessed by moderator and admin", %{
|
||||||
|
conn: conn,
|
||||||
|
moderator: moderator,
|
||||||
|
admin: admin
|
||||||
|
} do
|
||||||
for user <- [moderator, admin] do
|
for user <- [moderator, admin] do
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
conn
|
conn
|
||||||
@@ -90,13 +79,19 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
test "can't be accessed by regular user", %{conn: conn, user: user, book: book} do
|
test "can't be accessed by regular user", %{conn: conn, user: user, book: book} do
|
||||||
for user <- [nil, user] do
|
for user <- [nil, user] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/books/#{book.id}/edit")
|
|> log_in_user(user)
|
||||||
|
|> live("/books/#{book.id}/edit")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator and admin", %{conn: conn, moderator: moderator, admin: admin, book: book} do
|
test "can be accessed by moderator and admin", %{
|
||||||
|
conn: conn,
|
||||||
|
moderator: moderator,
|
||||||
|
admin: admin,
|
||||||
|
book: book
|
||||||
|
} do
|
||||||
for user <- [moderator, admin] do
|
for user <- [moderator, admin] do
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
conn
|
conn
|
||||||
@@ -109,31 +104,15 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "Author Index /authors" do
|
describe "Author Index /authors" do
|
||||||
test "can be accessed by regular user", %{conn: conn, user: user} do
|
test "can be accessed by any user", %{conn: conn, users: users} do
|
||||||
{:ok, _view, html} =
|
for user <- users do
|
||||||
conn
|
{:ok, _view, html} =
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/authors")
|
|> log_in_user(user)
|
||||||
|
|> live("/authors")
|
||||||
|
|
||||||
assert html =~ "Listing Authors"
|
assert html =~ "Listing Authors"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator", %{conn: conn, moderator: moderator} do
|
|
||||||
assert {:ok, _view, html} =
|
|
||||||
conn
|
|
||||||
|> log_in_user(moderator)
|
|
||||||
|> live("/authors")
|
|
||||||
|
|
||||||
assert html =~ "Listing Authors"
|
|
||||||
end
|
|
||||||
|
|
||||||
test "can be accessed by admin", %{conn: conn, admin: admin} do
|
|
||||||
assert {:ok, _view, html} =
|
|
||||||
conn
|
|
||||||
|> log_in_user(admin)
|
|
||||||
|> live("/authors")
|
|
||||||
|
|
||||||
assert html =~ "Listing Authors"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -158,13 +137,18 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
||||||
for user <- [nil, user] do
|
for user <- [nil, user] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/authors/new")
|
|> log_in_user(user)
|
||||||
|
|> live("/authors/new")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator and admin", %{conn: conn, moderator: moderator, admin: admin} do
|
test "can be accessed by moderator and admin", %{
|
||||||
|
conn: conn,
|
||||||
|
moderator: moderator,
|
||||||
|
admin: admin
|
||||||
|
} do
|
||||||
for user <- [moderator, admin] do
|
for user <- [moderator, admin] do
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
conn
|
conn
|
||||||
@@ -184,13 +168,19 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
test "can't be accessed by regular user", %{conn: conn, user: user, author: author} do
|
test "can't be accessed by regular user", %{conn: conn, user: user, author: author} do
|
||||||
for user <- [nil, user] do
|
for user <- [nil, user] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/authors/#{author.id}/edit")
|
|> log_in_user(user)
|
||||||
|
|> live("/authors/#{author.id}/edit")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator and admin", %{conn: conn, moderator: moderator, admin: admin, author: author} do
|
test "can be accessed by moderator and admin", %{
|
||||||
|
conn: conn,
|
||||||
|
moderator: moderator,
|
||||||
|
admin: admin,
|
||||||
|
author: author
|
||||||
|
} do
|
||||||
for user <- [moderator, admin] do
|
for user <- [moderator, admin] do
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
conn
|
conn
|
||||||
@@ -204,28 +194,27 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
|
|
||||||
describe "Publisher Index /publishers" do
|
describe "Publisher Index /publishers" do
|
||||||
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
||||||
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
for user <- [nil, user] do
|
||||||
conn
|
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/publishers")
|
|> log_in_user(user)
|
||||||
|
|> live("/publishers")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator", %{conn: conn, moderator: moderator} do
|
test "can be accessed by moderator and admin", %{
|
||||||
assert {:ok, _view, html} =
|
conn: conn,
|
||||||
conn
|
moderator: moderator,
|
||||||
|> log_in_user(moderator)
|
admin: admin
|
||||||
|> live("/publishers")
|
} do
|
||||||
|
for user <- [moderator, admin] do
|
||||||
|
assert {:ok, _view, html} =
|
||||||
|
conn
|
||||||
|
|> log_in_user(moderator)
|
||||||
|
|> live("/publishers")
|
||||||
|
|
||||||
assert html =~ "Listing Publishers"
|
assert html =~ "Listing Publishers"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by admin", %{conn: conn, admin: admin} do
|
|
||||||
assert {:ok, _view, html} =
|
|
||||||
conn
|
|
||||||
|> log_in_user(admin)
|
|
||||||
|> live("/publishers")
|
|
||||||
|
|
||||||
assert html =~ "Listing Publishers"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -237,13 +226,19 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
test "can't be accessed by regular user", %{conn: conn, user: user, publisher: publisher} do
|
test "can't be accessed by regular user", %{conn: conn, user: user, publisher: publisher} do
|
||||||
for user <- [nil, user] do
|
for user <- [nil, user] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/publishers/#{publisher.id}")
|
|> log_in_user(user)
|
||||||
|
|> live("/publishers/#{publisher.id}")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator and admin", %{conn: conn, moderator: moderator, admin: admin, publisher: publisher} do
|
test "can be accessed by moderator and admin", %{
|
||||||
|
conn: conn,
|
||||||
|
moderator: moderator,
|
||||||
|
admin: admin,
|
||||||
|
publisher: publisher
|
||||||
|
} do
|
||||||
for user <- [moderator, admin] do
|
for user <- [moderator, admin] do
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
conn
|
conn
|
||||||
@@ -259,13 +254,18 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
||||||
for user <- [nil, user] do
|
for user <- [nil, user] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/publishers/new")
|
|> log_in_user(user)
|
||||||
|
|> live("/publishers/new")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator and admin", %{conn: conn, moderator: moderator, admin: admin} do
|
test "can be accessed by moderator and admin", %{
|
||||||
|
conn: conn,
|
||||||
|
moderator: moderator,
|
||||||
|
admin: admin
|
||||||
|
} do
|
||||||
for user <- [moderator, admin] do
|
for user <- [moderator, admin] do
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
conn
|
conn
|
||||||
@@ -285,13 +285,19 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
test "can't be accessed by regular user", %{conn: conn, user: user, publisher: publisher} do
|
test "can't be accessed by regular user", %{conn: conn, user: user, publisher: publisher} do
|
||||||
for user <- [nil, user] do
|
for user <- [nil, user] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/publishers/#{publisher.id}/edit")
|
|> log_in_user(user)
|
||||||
|
|> live("/publishers/#{publisher.id}/edit")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by moderator and admin", %{conn: conn, moderator: moderator, admin: admin, publisher: publisher} do
|
test "can be accessed by moderator and admin", %{
|
||||||
|
conn: conn,
|
||||||
|
moderator: moderator,
|
||||||
|
admin: admin,
|
||||||
|
publisher: publisher
|
||||||
|
} do
|
||||||
for user <- [moderator, admin] do
|
for user <- [moderator, admin] do
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
conn
|
conn
|
||||||
@@ -304,27 +310,28 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "Server Index /servers" do
|
describe "Server Index /servers" do
|
||||||
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
test "can't be accessed by regular user and moderator", %{
|
||||||
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
conn: conn,
|
||||||
conn
|
user: user,
|
||||||
|> log_in_user(user)
|
moderator: moderator
|
||||||
|> live("/servers")
|
} do
|
||||||
end
|
for user <- [nil, user, moderator] do
|
||||||
|
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
||||||
test "can't be accessed by moderator", %{conn: conn, moderator: moderator} do
|
conn
|
||||||
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
|> log_in_user(user)
|
||||||
conn
|
|> live("/servers")
|
||||||
|> log_in_user(moderator)
|
end
|
||||||
|> live("/servers")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by admin", %{conn: conn, admin: admin} do
|
test "can be accessed by admin", %{conn: conn, admin: admin} do
|
||||||
assert {:ok, _view, html} =
|
for user <- [admin] do
|
||||||
conn
|
assert {:ok, _view, html} =
|
||||||
|> log_in_user(admin)
|
conn
|
||||||
|> live("/servers")
|
|> log_in_user(admin)
|
||||||
|
|> live("/servers")
|
||||||
|
|
||||||
assert html =~ "Listing Servers"
|
assert html =~ "Listing Servers"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -333,12 +340,18 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
%{server: generate(dbi_server())}
|
%{server: generate(dbi_server())}
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can't be accessed by non-admin user", %{conn: conn, user: user, moderator: moderator, server: server} do
|
test "can't be accessed by non-admin user", %{
|
||||||
|
conn: conn,
|
||||||
|
user: user,
|
||||||
|
moderator: moderator,
|
||||||
|
server: server
|
||||||
|
} do
|
||||||
for user <- [nil, user, moderator] do
|
for user <- [nil, user, moderator] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/servers/#{server.id}")
|
|> log_in_user(user)
|
||||||
|
|> live("/servers/#{server.id}")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -358,9 +371,10 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
test "can't be accessed by non-admin user", %{conn: conn, user: user, moderator: moderator} do
|
test "can't be accessed by non-admin user", %{conn: conn, user: user, moderator: moderator} do
|
||||||
for user <- [nil, user, moderator] do
|
for user <- [nil, user, moderator] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/servers/new")
|
|> log_in_user(user)
|
||||||
|
|> live("/servers/new")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -381,12 +395,18 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
%{server: generate(dbi_server())}
|
%{server: generate(dbi_server())}
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can't be accessed by non-admin user", %{conn: conn, user: user, moderator: moderator, server: server} do
|
test "can't be accessed by non-admin user", %{
|
||||||
|
conn: conn,
|
||||||
|
user: user,
|
||||||
|
moderator: moderator,
|
||||||
|
server: server
|
||||||
|
} do
|
||||||
for user <- [nil, user, moderator] do
|
for user <- [nil, user, moderator] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/servers/#{server.id}/edit")
|
|> log_in_user(user)
|
||||||
|
|> live("/servers/#{server.id}/edit")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -403,53 +423,58 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "ObanWeb /oban" do
|
describe "ObanWeb /oban" do
|
||||||
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
test "can't be accessed by regular user and moderator", %{
|
||||||
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
conn: conn,
|
||||||
conn
|
user: user,
|
||||||
|> log_in_user(user)
|
moderator: moderator
|
||||||
|> live("/oban")
|
} do
|
||||||
end
|
for user <- [nil, user, moderator] do
|
||||||
|
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
||||||
test "can't be accessed by moderator", %{conn: conn, moderator: moderator} do
|
conn
|
||||||
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
|> log_in_user(user)
|
||||||
conn
|
|> live("/oban")
|
||||||
|> log_in_user(moderator)
|
end
|
||||||
|> live("/oban")
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "User Index /users" do
|
describe "User Index /users" do
|
||||||
test "can't be accessed by regular user", %{conn: conn, user: user} do
|
test "can't be accessed by regular user and moderator", %{
|
||||||
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
conn: conn,
|
||||||
conn
|
user: user,
|
||||||
|> log_in_user(user)
|
moderator: moderator
|
||||||
|> live("/users")
|
} do
|
||||||
end
|
for user <- [nil, user, moderator] do
|
||||||
|
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
||||||
test "can't be accessed by moderator", %{conn: conn, moderator: moderator} do
|
conn
|
||||||
assert {:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}} =
|
|> log_in_user(user)
|
||||||
conn
|
|> live("/users")
|
||||||
|> log_in_user(moderator)
|
end
|
||||||
|> live("/users")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be accessed by admin", %{conn: conn, admin: admin} do
|
test "can be accessed by admin", %{conn: conn, admin: admin} do
|
||||||
assert {:ok, _view, html} =
|
for user <- [admin] do
|
||||||
conn
|
assert {:ok, _view, html} =
|
||||||
|> log_in_user(admin)
|
conn
|
||||||
|> live("/users")
|
|> log_in_user(admin)
|
||||||
|
|> live("/users")
|
||||||
|
|
||||||
assert html =~ "Listing Users"
|
assert html =~ "Listing Users"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "User Show /users/:id" do
|
describe "User Show /users/:id" do
|
||||||
test "can't be accessed by non-admin user", %{conn: conn, user: regular_user, moderator: moderator} do
|
test "can't be accessed by non-admin user", %{
|
||||||
|
conn: conn,
|
||||||
|
user: regular_user,
|
||||||
|
moderator: moderator
|
||||||
|
} do
|
||||||
for user <- [nil, regular_user, moderator] do
|
for user <- [nil, regular_user, moderator] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/users/#{regular_user.id}")
|
|> log_in_user(user)
|
||||||
|
|> live("/users/#{regular_user.id}")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -466,12 +491,17 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "User Edit /users/:id/edit" do
|
describe "User Edit /users/:id/edit" do
|
||||||
test "can't be accessed by non-admin user", %{conn: conn, user: regular_user, moderator: moderator} do
|
test "can't be accessed by non-admin user", %{
|
||||||
|
conn: conn,
|
||||||
|
user: regular_user,
|
||||||
|
moderator: moderator
|
||||||
|
} do
|
||||||
for user <- [nil, regular_user, moderator] do
|
for user <- [nil, regular_user, moderator] do
|
||||||
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
{:error, {:redirect, %{flash: %{"error" => "Unauthorized!"}, to: "/"}}}
|
||||||
conn
|
|
||||||
|> log_in_user(user)
|
conn
|
||||||
|> live("/users/#{regular_user.id}/edit")
|
|> log_in_user(user)
|
||||||
|
|> live("/users/#{regular_user.id}/edit")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -486,5 +516,4 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissions do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user