fix(participant): handle re-confirming participation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
02098bbb3d
commit
5cc5c9943c
|
@ -282,6 +282,9 @@ defmodule Mobilizon.GraphQL.Resolvers.Participant do
|
||||||
{:error,
|
{:error,
|
||||||
dgettext("errors", "Participation is confirmed but not approved yet by an organizer")}
|
dgettext("errors", "Participation is confirmed but not approved yet by an organizer")}
|
||||||
|
|
||||||
|
{:has_participant, %Participant{role: :participant}} ->
|
||||||
|
{:error, dgettext("errors", "Participation is already confirmed")}
|
||||||
|
|
||||||
{:has_participant, nil} ->
|
{:has_participant, nil} ->
|
||||||
{:error, dgettext("errors", "This token is invalid")}
|
{:error, dgettext("errors", "This token is invalid")}
|
||||||
|
|
||||||
|
|
|
@ -1136,6 +1136,15 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do
|
||||||
assert %Participant{role: :participant} =
|
assert %Participant{role: :participant} =
|
||||||
event.id |> Events.list_participants_for_event() |> Map.get(:elements) |> hd()
|
event.id |> Events.list_participants_for_event() |> Map.get(:elements) |> hd()
|
||||||
|
|
||||||
|
res =
|
||||||
|
conn
|
||||||
|
|> AbsintheHelpers.graphql_query(
|
||||||
|
query: @confirmation_mutation,
|
||||||
|
variables: %{confirmationToken: confirmation_token}
|
||||||
|
)
|
||||||
|
|
||||||
|
assert hd(res["errors"])["message"] == "Participation is already confirmed"
|
||||||
|
|
||||||
assert_email_sent(to: @email)
|
assert_email_sent(to: @email)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue