Cover Play reviewer eligibility gates
This commit is contained in:
parent
1f0c271951
commit
de60e6e54c
|
|
@ -100,6 +100,57 @@ defmodule WhoNeedHelp.ReleaseTest do
|
|||
Release.prepare_play_review(reviewer.email, reviewer.email)
|
||||
end
|
||||
|
||||
test "rejects unconfirmed accounts and accounts without accepted terms", %{
|
||||
counterpart: counterpart
|
||||
} do
|
||||
unconfirmed =
|
||||
unconfirmed_user_fixture(display_name: "Unconfirmed Play reviewer")
|
||||
|> set_password()
|
||||
|
||||
assert {:error, {:reviewer, :email_not_confirmed}} =
|
||||
Release.play_review_readiness(unconfirmed.email, counterpart.email)
|
||||
|
||||
reviewer = user_fixture(display_name: "Play reviewer without terms") |> set_password()
|
||||
|
||||
{1, nil} =
|
||||
Repo.update_all(
|
||||
from(user in Accounts.User, where: user.id == ^reviewer.id),
|
||||
set: [accepted_terms_at: nil]
|
||||
)
|
||||
|
||||
assert {:error, {:reviewer, :terms_not_accepted}} =
|
||||
Release.play_review_readiness(reviewer.email, counterpart.email)
|
||||
end
|
||||
|
||||
test "rejects restricted and suspended review accounts", %{
|
||||
reviewer: reviewer,
|
||||
counterpart: counterpart
|
||||
} do
|
||||
restricted =
|
||||
reviewer
|
||||
|> Accounts.User.moderation_changeset(%{
|
||||
moderation_status: :restricted,
|
||||
moderation_note: "Review account is not eligible"
|
||||
})
|
||||
|> Repo.update!()
|
||||
|
||||
assert {:error, {:reviewer, :account_not_active}} =
|
||||
Release.play_review_readiness(restricted.email, counterpart.email)
|
||||
|
||||
suspended =
|
||||
counterpart
|
||||
|> Accounts.User.moderation_changeset(%{
|
||||
moderation_status: :suspended,
|
||||
moderation_note: "Review counterpart is not eligible"
|
||||
})
|
||||
|> Repo.update!()
|
||||
|
||||
active_reviewer = user_fixture(display_name: "Replacement reviewer") |> set_password()
|
||||
|
||||
assert {:error, {:counterpart, :account_not_active}} =
|
||||
Release.play_review_readiness(active_reviewer.email, suspended.email)
|
||||
end
|
||||
|
||||
test "rejects staff accounts", %{counterpart: counterpart} do
|
||||
staff = staff_user_fixture([:support], display_name: "Staff reviewer") |> set_password()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user