Merge branch 'feature/group-event-tests' into 'master'
Feature/group event tests See merge request framasoft/mobilizon!53
This commit is contained in:
commit
a21283ec69
@ -98,7 +98,7 @@ defmodule MobilizonWeb.Resolvers.Group do
|
|||||||
{:error, "Actor id is not a member of this group"}
|
{:error, "Actor id is not a member of this group"}
|
||||||
|
|
||||||
{:is_admin, false} ->
|
{:is_admin, false} ->
|
||||||
{:error, "User is not an administrator of the selected group"}
|
{:error, "Actor id is not an administrator of the selected group"}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -333,5 +333,79 @@ defmodule MobilizonWeb.Resolvers.EventResolverTest do
|
|||||||
|
|
||||||
assert hd(json_response(res, 200)["errors"])["message"] =~ "not found"
|
assert hd(json_response(res, 200)["errors"])["message"] =~ "not found"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "delete_event/3 should check the user is authenticated", %{conn: conn, actor: actor} do
|
||||||
|
event = insert(:event, organizer_actor: actor)
|
||||||
|
|
||||||
|
mutation = """
|
||||||
|
mutation {
|
||||||
|
deleteEvent(
|
||||||
|
actor_id: #{actor.id},
|
||||||
|
event_id: #{event.id}
|
||||||
|
) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
res =
|
||||||
|
conn
|
||||||
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
|
assert hd(json_response(res, 200)["errors"])["message"] =~ "logged-in"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "delete_event/3 should check the actor id is owned by the user", %{
|
||||||
|
conn: conn,
|
||||||
|
user: user,
|
||||||
|
actor: actor
|
||||||
|
} do
|
||||||
|
event = insert(:event, organizer_actor: actor)
|
||||||
|
|
||||||
|
mutation = """
|
||||||
|
mutation {
|
||||||
|
deleteEvent(
|
||||||
|
actor_id: 1042,
|
||||||
|
event_id: #{event.id}
|
||||||
|
) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
res =
|
||||||
|
conn
|
||||||
|
|> auth_conn(user)
|
||||||
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
|
assert hd(json_response(res, 200)["errors"])["message"] =~ "not owned"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "delete_event/3 should check the event can be deleted by the user", %{
|
||||||
|
conn: conn,
|
||||||
|
user: user,
|
||||||
|
actor: actor
|
||||||
|
} do
|
||||||
|
actor2 = insert(:actor)
|
||||||
|
event = insert(:event, organizer_actor: actor2)
|
||||||
|
|
||||||
|
mutation = """
|
||||||
|
mutation {
|
||||||
|
deleteEvent(
|
||||||
|
actor_id: #{actor.id},
|
||||||
|
event_id: #{event.id}
|
||||||
|
) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
res =
|
||||||
|
conn
|
||||||
|
|> auth_conn(user)
|
||||||
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
|
assert hd(json_response(res, 200)["errors"])["message"] =~ "cannot delete"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -143,5 +143,107 @@ defmodule MobilizonWeb.Resolvers.GroupResolverTest do
|
|||||||
|
|
||||||
assert hd(json_response(res, 200)["errors"])["message"] =~ "not found"
|
assert hd(json_response(res, 200)["errors"])["message"] =~ "not found"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "delete_group/3 should check user authentication", %{conn: conn, actor: actor} do
|
||||||
|
group = insert(:group)
|
||||||
|
insert(:member, parent: group, actor: actor, role: 2)
|
||||||
|
|
||||||
|
mutation = """
|
||||||
|
mutation {
|
||||||
|
deleteGroup(
|
||||||
|
actor_id: #{actor.id},
|
||||||
|
group_id: #{group.id}
|
||||||
|
) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
res =
|
||||||
|
conn
|
||||||
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
|
assert hd(json_response(res, 200)["errors"])["message"] =~ "logged-in"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "delete_group/3 should check the actor is owned by the user", %{
|
||||||
|
conn: conn,
|
||||||
|
user: user,
|
||||||
|
actor: actor
|
||||||
|
} do
|
||||||
|
group = insert(:group)
|
||||||
|
insert(:member, parent: group, actor: actor, role: 2)
|
||||||
|
|
||||||
|
mutation = """
|
||||||
|
mutation {
|
||||||
|
deleteGroup(
|
||||||
|
actor_id: 159,
|
||||||
|
group_id: #{group.id}
|
||||||
|
) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
res =
|
||||||
|
conn
|
||||||
|
|> auth_conn(user)
|
||||||
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
|
assert hd(json_response(res, 200)["errors"])["message"] =~ "not owned"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "delete_group/3 should check the actor is a member of this group", %{
|
||||||
|
conn: conn,
|
||||||
|
user: user,
|
||||||
|
actor: actor
|
||||||
|
} do
|
||||||
|
group = insert(:group)
|
||||||
|
|
||||||
|
mutation = """
|
||||||
|
mutation {
|
||||||
|
deleteGroup(
|
||||||
|
actor_id: #{actor.id},
|
||||||
|
group_id: #{group.id}
|
||||||
|
) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
res =
|
||||||
|
conn
|
||||||
|
|> auth_conn(user)
|
||||||
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
|
assert hd(json_response(res, 200)["errors"])["message"] =~ "not a member"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "delete_group/3 should check the actor is an administrator of this group", %{
|
||||||
|
conn: conn,
|
||||||
|
user: user,
|
||||||
|
actor: actor
|
||||||
|
} do
|
||||||
|
group = insert(:group)
|
||||||
|
insert(:member, parent: group, actor: actor, role: 1)
|
||||||
|
|
||||||
|
mutation = """
|
||||||
|
mutation {
|
||||||
|
deleteGroup(
|
||||||
|
actor_id: #{actor.id},
|
||||||
|
group_id: #{group.id}
|
||||||
|
) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
res =
|
||||||
|
conn
|
||||||
|
|> auth_conn(user)
|
||||||
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
|
assert hd(json_response(res, 200)["errors"])["message"] =~ "not an administrator"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -165,8 +165,7 @@ defmodule MobilizonWeb.Resolvers.UserResolverTest do
|
|||||||
context.conn
|
context.conn
|
||||||
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
assert hd(json_response(res, 200)["errors"])["message"] ==
|
assert hd(json_response(res, 200)["errors"])["message"] == "User with email not found"
|
||||||
"User with email not found"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
test "register_person/3 can't be called with an existing profile", context do
|
test "register_person/3 can't be called with an existing profile", context do
|
||||||
|
Loading…
Reference in New Issue
Block a user