Change schema a bit
Closes #29 Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -306,7 +306,7 @@ defmodule Mobilizon.ActorsTest do
|
||||
test "list_users/0 returns all users" do
|
||||
user = insert(:user)
|
||||
users = Actors.list_users()
|
||||
assert users == [user]
|
||||
assert [user.id] == users |> Enum.map(& &1.id)
|
||||
end
|
||||
|
||||
test "get_user!/1 returns the user with given id" do
|
||||
|
||||
@@ -48,12 +48,12 @@ defmodule Mobilizon.AddressesTest do
|
||||
|
||||
test "list_addresses/0 returns all addresses" do
|
||||
address = address_fixture()
|
||||
assert Addresses.list_addresses() == [address]
|
||||
assert [address.id] == Addresses.list_addresses() |> Enum.map(& &1.id)
|
||||
end
|
||||
|
||||
test "get_address!/1 returns the address with given id" do
|
||||
address = address_fixture()
|
||||
assert Addresses.get_address!(address.id) == address
|
||||
assert Addresses.get_address!(address.id).id == address.id
|
||||
end
|
||||
|
||||
test "create_address/1 with valid data creates a address" do
|
||||
@@ -69,8 +69,7 @@ defmodule Mobilizon.AddressesTest do
|
||||
|
||||
test "update_address/2 with valid data updates the address" do
|
||||
address = address_fixture()
|
||||
assert {:ok, address} = Addresses.update_address(address, @update_attrs)
|
||||
assert %Address{} = address
|
||||
assert {:ok, %Address{} = address} = Addresses.update_address(address, @update_attrs)
|
||||
assert address.addressCountry == "some updated addressCountry"
|
||||
assert address.addressLocality == "some updated addressLocality"
|
||||
assert address.addressRegion == "some updated addressRegion"
|
||||
|
||||
@@ -189,15 +189,15 @@ defmodule Mobilizon.EventsTest do
|
||||
@invalid_attrs %{description: nil, picture: nil, title: nil}
|
||||
|
||||
test "list_categories/0 returns all categories", %{category: category} do
|
||||
assert Events.list_categories() == [category]
|
||||
assert [category.id] == Events.list_categories() |> Enum.map(& &1.id)
|
||||
end
|
||||
|
||||
test "get_category!/1 returns the category with given id", %{category: category} do
|
||||
assert Events.get_category!(category.id) == category
|
||||
assert Events.get_category!(category.id).id == category.id
|
||||
end
|
||||
|
||||
test "get_category_by_title/1 return the category with given title", %{category: category} do
|
||||
assert Events.get_category_by_title(category.title) == category
|
||||
assert Events.get_category_by_title(category.title).id == category.id
|
||||
end
|
||||
|
||||
test "create_category/1 with valid data creates a category" do
|
||||
@@ -212,8 +212,7 @@ defmodule Mobilizon.EventsTest do
|
||||
end
|
||||
|
||||
test "update_category/2 with valid data updates the category", %{category: category} do
|
||||
assert {:ok, category} = Events.update_category(category, @update_attrs)
|
||||
assert %Category{} = category
|
||||
assert {:ok, %Category{} = category} = Events.update_category(category, @update_attrs)
|
||||
assert category.description == "some updated description"
|
||||
assert category.picture.file_name == @update_attrs.picture.filename
|
||||
assert category.title == "some updated title"
|
||||
@@ -221,7 +220,7 @@ defmodule Mobilizon.EventsTest do
|
||||
|
||||
test "update_category/2 with invalid data returns error changeset", %{category: category} do
|
||||
assert {:error, %Ecto.Changeset{}} = Events.update_category(category, @invalid_attrs)
|
||||
assert category == Events.get_category!(category.id)
|
||||
assert category.description == Events.get_category!(category.id).description
|
||||
end
|
||||
|
||||
test "delete_category/1 deletes the category", %{category: category} do
|
||||
@@ -241,28 +240,24 @@ defmodule Mobilizon.EventsTest do
|
||||
@update_attrs %{title: "some updated title"}
|
||||
@invalid_attrs %{title: nil}
|
||||
|
||||
def tag_fixture(attrs \\ %{}) do
|
||||
{:ok, tag} =
|
||||
attrs
|
||||
|> Enum.into(@valid_attrs)
|
||||
|> Events.create_tag()
|
||||
|
||||
tag
|
||||
end
|
||||
|
||||
test "list_tags/0 returns all tags" do
|
||||
tag = tag_fixture()
|
||||
assert Events.list_tags() == [tag]
|
||||
tag = insert(:tag)
|
||||
assert [tag.id] == Events.list_tags() |> Enum.map(& &1.id)
|
||||
end
|
||||
|
||||
test "get_tag!/1 returns the tag with given id" do
|
||||
tag = tag_fixture()
|
||||
assert Events.get_tag!(tag.id) == tag
|
||||
tag = insert(:tag)
|
||||
assert Events.get_tag!(tag.id).id == tag.id
|
||||
end
|
||||
|
||||
test "create_tag/1 with valid data creates a tag" do
|
||||
assert {:ok, %Tag{} = tag} = Events.create_tag(@valid_attrs)
|
||||
assert tag.title == "some title"
|
||||
assert tag.slug == "some-title"
|
||||
|
||||
assert {:ok, %Tag{} = tag2} = Events.create_tag(@valid_attrs)
|
||||
assert tag2.title == "some title"
|
||||
assert tag2.slug == "some-title-1"
|
||||
end
|
||||
|
||||
test "create_tag/1 with invalid data returns error changeset" do
|
||||
@@ -270,26 +265,26 @@ defmodule Mobilizon.EventsTest do
|
||||
end
|
||||
|
||||
test "update_tag/2 with valid data updates the tag" do
|
||||
tag = tag_fixture()
|
||||
tag = insert(:tag)
|
||||
assert {:ok, tag} = Events.update_tag(tag, @update_attrs)
|
||||
assert %Tag{} = tag
|
||||
assert tag.title == "some updated title"
|
||||
end
|
||||
|
||||
test "update_tag/2 with invalid data returns error changeset" do
|
||||
tag = tag_fixture()
|
||||
tag = insert(:tag)
|
||||
assert {:error, %Ecto.Changeset{}} = Events.update_tag(tag, @invalid_attrs)
|
||||
assert tag == Events.get_tag!(tag.id)
|
||||
assert tag.id == Events.get_tag!(tag.id).id
|
||||
end
|
||||
|
||||
test "delete_tag/1 deletes the tag" do
|
||||
tag = tag_fixture()
|
||||
tag = insert(:tag)
|
||||
assert {:ok, %Tag{}} = Events.delete_tag(tag)
|
||||
assert_raise Ecto.NoResultsError, fn -> Events.get_tag!(tag.id) end
|
||||
end
|
||||
|
||||
test "change_tag/1 returns a tag changeset" do
|
||||
tag = tag_fixture()
|
||||
tag = insert(:tag)
|
||||
assert %Ecto.Changeset{} = Events.change_tag(tag)
|
||||
end
|
||||
end
|
||||
@@ -405,26 +400,14 @@ defmodule Mobilizon.EventsTest do
|
||||
videos_urls: nil
|
||||
}
|
||||
|
||||
def session_fixture(attrs \\ %{}) do
|
||||
event = insert(:event)
|
||||
valid_attrs = Map.put(@valid_attrs, :event_id, event.id)
|
||||
|
||||
{:ok, session} =
|
||||
attrs
|
||||
|> Enum.into(valid_attrs)
|
||||
|> Events.create_session()
|
||||
|
||||
session
|
||||
end
|
||||
|
||||
test "list_sessions/0 returns all sessions" do
|
||||
session = session_fixture()
|
||||
assert Events.list_sessions() == [session]
|
||||
session = insert(:session)
|
||||
assert [session.id] == Events.list_sessions() |> Enum.map(& &1.id)
|
||||
end
|
||||
|
||||
test "get_session!/1 returns the session with given id" do
|
||||
session = session_fixture()
|
||||
assert Events.get_session!(session.id) == session
|
||||
session = insert(:session)
|
||||
assert Events.get_session!(session.id).id == session.id
|
||||
end
|
||||
|
||||
test "create_session/1 with valid data creates a session" do
|
||||
@@ -446,9 +429,8 @@ defmodule Mobilizon.EventsTest do
|
||||
end
|
||||
|
||||
test "update_session/2 with valid data updates the session" do
|
||||
session = session_fixture()
|
||||
assert {:ok, session} = Events.update_session(session, @update_attrs)
|
||||
assert %Session{} = session
|
||||
session = insert(:session)
|
||||
assert {:ok, %Session{} = session} = Events.update_session(session, @update_attrs)
|
||||
assert session.audios_urls == "some updated audios_urls"
|
||||
assert session.language == "some updated language"
|
||||
assert session.long_abstract == "some updated long_abstract"
|
||||
@@ -460,19 +442,19 @@ defmodule Mobilizon.EventsTest do
|
||||
end
|
||||
|
||||
test "update_session/2 with invalid data returns error changeset" do
|
||||
session = session_fixture()
|
||||
session = insert(:session)
|
||||
assert {:error, %Ecto.Changeset{}} = Events.update_session(session, @invalid_attrs)
|
||||
assert session == Events.get_session!(session.id)
|
||||
assert session.title == Events.get_session!(session.id).title
|
||||
end
|
||||
|
||||
test "delete_session/1 deletes the session" do
|
||||
session = session_fixture()
|
||||
session = insert(:session)
|
||||
assert {:ok, %Session{}} = Events.delete_session(session)
|
||||
assert_raise Ecto.NoResultsError, fn -> Events.get_session!(session.id) end
|
||||
end
|
||||
|
||||
test "change_session/1 returns a session changeset" do
|
||||
session = session_fixture()
|
||||
session = insert(:session)
|
||||
assert %Ecto.Changeset{} = Events.change_session(session)
|
||||
end
|
||||
end
|
||||
@@ -488,26 +470,14 @@ defmodule Mobilizon.EventsTest do
|
||||
}
|
||||
@invalid_attrs %{color: nil, description: nil, name: nil}
|
||||
|
||||
def track_fixture(attrs \\ %{}) do
|
||||
event = insert(:event)
|
||||
valid_attrs = Map.put(@valid_attrs, :event_id, event.id)
|
||||
|
||||
{:ok, track} =
|
||||
attrs
|
||||
|> Enum.into(valid_attrs)
|
||||
|> Events.create_track()
|
||||
|
||||
track
|
||||
end
|
||||
|
||||
test "list_tracks/0 returns all tracks" do
|
||||
track = track_fixture()
|
||||
assert Events.list_tracks() == [track]
|
||||
track = insert(:track)
|
||||
assert [track.id] == Events.list_tracks() |> Enum.map(& &1.id)
|
||||
end
|
||||
|
||||
test "get_track!/1 returns the track with given id" do
|
||||
track = track_fixture()
|
||||
assert Events.get_track!(track.id) == track
|
||||
track = insert(:track)
|
||||
assert Events.get_track!(track.id).id == track.id
|
||||
end
|
||||
|
||||
test "create_track/1 with valid data creates a track" do
|
||||
@@ -524,28 +494,27 @@ defmodule Mobilizon.EventsTest do
|
||||
end
|
||||
|
||||
test "update_track/2 with valid data updates the track" do
|
||||
track = track_fixture()
|
||||
assert {:ok, track} = Events.update_track(track, @update_attrs)
|
||||
assert %Track{} = track
|
||||
track = insert(:track)
|
||||
{:ok, %Track{} = track} = Events.update_track(track, @update_attrs)
|
||||
assert track.color == "some updated color"
|
||||
assert track.description == "some updated description"
|
||||
assert track.name == "some updated name"
|
||||
end
|
||||
|
||||
test "update_track/2 with invalid data returns error changeset" do
|
||||
track = track_fixture()
|
||||
track = insert(:track)
|
||||
assert {:error, %Ecto.Changeset{}} = Events.update_track(track, @invalid_attrs)
|
||||
assert track == Events.get_track!(track.id)
|
||||
assert track.color == Events.get_track!(track.id).color
|
||||
end
|
||||
|
||||
test "delete_track/1 deletes the track" do
|
||||
track = track_fixture()
|
||||
track = insert(:track)
|
||||
assert {:ok, %Track{}} = Events.delete_track(track)
|
||||
assert_raise Ecto.NoResultsError, fn -> Events.get_track!(track.id) end
|
||||
end
|
||||
|
||||
test "change_track/1 returns a track changeset" do
|
||||
track = track_fixture()
|
||||
track = insert(:track)
|
||||
assert %Ecto.Changeset{} = Events.change_track(track)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
defmodule MobilizonWeb.Resolvers.ActorResolverTest do
|
||||
defmodule MobilizonWeb.Resolvers.PersonResolverTest do
|
||||
use MobilizonWeb.ConnCase
|
||||
alias Mobilizon.Actors
|
||||
alias MobilizonWeb.AbsintheHelpers
|
||||
@@ -6,13 +6,13 @@ defmodule MobilizonWeb.Resolvers.ActorResolverTest do
|
||||
@valid_actor_params %{email: "test@test.tld", password: "testest", username: "test"}
|
||||
@non_existent_username "nonexistent"
|
||||
|
||||
describe "Actor Resolver" do
|
||||
test "find_actor/3 returns an actor by it's username", context do
|
||||
describe "Person Resolver" do
|
||||
test "find_actor/3 returns a person by it's username", context do
|
||||
{:ok, actor} = Actors.register(@valid_actor_params)
|
||||
|
||||
query = """
|
||||
{
|
||||
actor(preferredUsername: "#{actor.preferred_username}") {
|
||||
person(preferredUsername: "#{actor.preferred_username}") {
|
||||
preferredUsername,
|
||||
}
|
||||
}
|
||||
@@ -20,14 +20,14 @@ defmodule MobilizonWeb.Resolvers.ActorResolverTest do
|
||||
|
||||
res =
|
||||
context.conn
|
||||
|> get("/api", AbsintheHelpers.query_skeleton(query, "actor"))
|
||||
|> get("/api", AbsintheHelpers.query_skeleton(query, "person"))
|
||||
|
||||
assert json_response(res, 200)["data"]["actor"]["preferredUsername"] ==
|
||||
assert json_response(res, 200)["data"]["person"]["preferredUsername"] ==
|
||||
actor.preferred_username
|
||||
|
||||
query = """
|
||||
{
|
||||
actor(preferredUsername: "#{@non_existent_username}") {
|
||||
person(preferredUsername: "#{@non_existent_username}") {
|
||||
preferredUsername,
|
||||
}
|
||||
}
|
||||
@@ -35,20 +35,20 @@ defmodule MobilizonWeb.Resolvers.ActorResolverTest do
|
||||
|
||||
res =
|
||||
context.conn
|
||||
|> get("/api", AbsintheHelpers.query_skeleton(query, "actor"))
|
||||
|> get("/api", AbsintheHelpers.query_skeleton(query, "person"))
|
||||
|
||||
assert json_response(res, 200)["data"]["actor"] == nil
|
||||
assert json_response(res, 200)["data"]["person"] == nil
|
||||
|
||||
assert hd(json_response(res, 200)["errors"])["message"] ==
|
||||
"Actor with name #{@non_existent_username} not found"
|
||||
"Person with name #{@non_existent_username} not found"
|
||||
end
|
||||
|
||||
test "get_current_actor/3 returns the current logged-in actor", context do
|
||||
test "get_current_person/3 returns the current logged-in actor", context do
|
||||
{:ok, actor} = Actors.register(@valid_actor_params)
|
||||
|
||||
query = """
|
||||
{
|
||||
loggedActor {
|
||||
loggedPerson {
|
||||
avatarUrl,
|
||||
preferredUsername,
|
||||
}
|
||||
@@ -57,19 +57,19 @@ defmodule MobilizonWeb.Resolvers.ActorResolverTest do
|
||||
|
||||
res =
|
||||
context.conn
|
||||
|> get("/api", AbsintheHelpers.query_skeleton(query, "logged_actor"))
|
||||
|> get("/api", AbsintheHelpers.query_skeleton(query, "logged_person"))
|
||||
|
||||
assert json_response(res, 200)["data"]["loggedActor"] == nil
|
||||
assert json_response(res, 200)["data"]["loggedPerson"] == nil
|
||||
|
||||
assert hd(json_response(res, 200)["errors"])["message"] ==
|
||||
"You need to be logged-in to view current actor"
|
||||
"You need to be logged-in to view current person"
|
||||
|
||||
res =
|
||||
context.conn
|
||||
|> auth_conn(actor.user)
|
||||
|> get("/api", AbsintheHelpers.query_skeleton(query, "logged_actor"))
|
||||
|> get("/api", AbsintheHelpers.query_skeleton(query, "logged_person"))
|
||||
|
||||
assert json_response(res, 200)["data"]["loggedActor"]["preferredUsername"] ==
|
||||
assert json_response(res, 200)["data"]["loggedPerson"]["preferredUsername"] ==
|
||||
actor.preferred_username
|
||||
end
|
||||
end
|
||||
@@ -140,7 +140,7 @@ defmodule MobilizonWeb.Resolvers.UserResolverTest do
|
||||
user {
|
||||
id
|
||||
},
|
||||
actor {
|
||||
person {
|
||||
preferredUsername
|
||||
}
|
||||
}
|
||||
@@ -151,7 +151,7 @@ defmodule MobilizonWeb.Resolvers.UserResolverTest do
|
||||
context.conn
|
||||
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||
|
||||
assert json_response(res, 200)["data"]["validateUser"]["actor"]["preferredUsername"] ==
|
||||
assert json_response(res, 200)["data"]["validateUser"]["person"]["preferredUsername"] ==
|
||||
@valid_actor_params.username
|
||||
|
||||
assert json_response(res, 200)["data"]["validateUser"]["user"]["id"] ==
|
||||
@@ -170,7 +170,7 @@ defmodule MobilizonWeb.Resolvers.UserResolverTest do
|
||||
user {
|
||||
id
|
||||
},
|
||||
actor {
|
||||
person {
|
||||
preferredUsername
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +53,13 @@ defmodule Mobilizon.Factory do
|
||||
}
|
||||
end
|
||||
|
||||
def tag_factory do
|
||||
%Mobilizon.Events.Tag{
|
||||
title: "MyTag",
|
||||
slug: sequence("MyTag")
|
||||
}
|
||||
end
|
||||
|
||||
def address_factory do
|
||||
%Mobilizon.Addresses.Address{
|
||||
description: sequence("MyAddress"),
|
||||
|
||||
Reference in New Issue
Block a user