Prepare create group

This commit is contained in:
Chocobozzz
2019-09-02 10:50:00 +02:00
parent 4a8f971443
commit 18b2854d99
11 changed files with 257 additions and 120 deletions

View File

@@ -15,12 +15,37 @@ defmodule MobilizonWeb.Resolvers.GroupResolverTest do
end
describe "Group Resolver" do
test "create_group/3 creates a group", %{conn: conn, user: user, actor: actor} do
test "create_group/3 should check the user owns the identity", %{conn: conn, user: user} do
another_actor = insert(:actor)
mutation = """
mutation {
createGroup(
preferred_username: "#{@new_group_params.groupname}",
admin_actor_username: "#{actor.preferred_username}"
creator_actor_id: #{another_actor.id}
) {
preferred_username,
type
}
}
"""
res =
conn
|> auth_conn(user)
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
assert hd(json_response(res, 200)["errors"])["message"] ==
"Actor id is not owned by authenticated user"
end
test "create_group/3 creates a group and check a group with this name does not already exist",
%{conn: conn, user: user, actor: actor} do
mutation = """
mutation {
createGroup(
preferred_username: "#{@new_group_params.groupname}",
creator_actor_id: #{actor.id}
) {
preferred_username,
type
@@ -42,7 +67,7 @@ defmodule MobilizonWeb.Resolvers.GroupResolverTest do
mutation {
createGroup(
preferred_username: "#{@new_group_params.groupname}",
admin_actor_username: "#{actor.preferred_username}",
creator_actor_id: #{actor.id},
) {
preferred_username,
type
@@ -55,7 +80,8 @@ defmodule MobilizonWeb.Resolvers.GroupResolverTest do
|> auth_conn(user)
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
assert hd(json_response(res, 200)["errors"])["message"] == "existing_group_name"
assert hd(json_response(res, 200)["errors"])["message"] ==
"A group with this name already exists"
end
test "list_groups/3 returns all public or unlisted groups", context do

View File

@@ -7,7 +7,9 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
@event %{
description: "some body",
title: "some title",
begins_on: DateTime.utc_now() |> DateTime.truncate(:second),
begins_on:
DateTime.utc_now()
|> DateTime.truncate(:second),
uuid: "b5126423-f1af-43e4-a923-002a03003ba4",
url: "some url",
category: "meeting"
@@ -171,7 +173,9 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
assert json_response(res, 200)["data"]["participants"] == [
%{
"actor" => %{"preferredUsername" => participant2.actor.preferred_username},
"actor" => %{
"preferredUsername" => participant2.actor.preferred_username
},
"role" => "creator"
}
]
@@ -339,7 +343,9 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
assert json_response(res, 200)["data"]["participants"] == [
%{
"actor" => %{"preferredUsername" => context.actor.preferred_username},
"actor" => %{
"preferredUsername" => context.actor.preferred_username
},
"role" => "creator"
}
]
@@ -356,14 +362,26 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
context.conn
|> get("/api", AbsintheHelpers.query_skeleton(query, "participants"))
assert json_response(res, 200)["data"]["participants"] == [
sorted_participants =
json_response(res, 200)["data"]["participants"]
|> Enum.sort_by(
&(&1
|> Map.get("actor")
|> Map.get("preferredUsername"))
)
assert sorted_participants == [
%{
"actor" => %{"preferredUsername" => participant2.actor.preferred_username},
"role" => "participant"
"actor" => %{
"preferredUsername" => context.actor.preferred_username
},
"role" => "creator"
},
%{
"actor" => %{"preferredUsername" => context.actor.preferred_username},
"role" => "creator"
"actor" => %{
"preferredUsername" => participant2.actor.preferred_username
},
"role" => "participant"
}
]
end