2018-11-06 10:30:27 +01:00
|
|
|
defmodule MobilizonWeb.Resolvers.CategoryResolverTest do
|
|
|
|
use MobilizonWeb.ConnCase
|
|
|
|
alias Mobilizon.Actors
|
2018-11-29 17:43:22 +01:00
|
|
|
alias Mobilizon.Actors.{Actor, User}
|
2018-11-06 10:30:27 +01:00
|
|
|
alias MobilizonWeb.AbsintheHelpers
|
|
|
|
import Mobilizon.Factory
|
|
|
|
|
|
|
|
setup %{conn: conn} do
|
2018-11-29 17:43:22 +01:00
|
|
|
{:ok, %User{default_actor: %Actor{} = actor} = user} =
|
2018-11-06 10:30:27 +01:00
|
|
|
Actors.register(%{email: "test@test.tld", password: "testest", username: "test"})
|
|
|
|
|
2018-11-29 17:43:22 +01:00
|
|
|
{:ok, conn: conn, actor: actor, user: user}
|
2018-11-06 10:30:27 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
describe "Category Resolver" do
|
|
|
|
test "list_categories/3 returns the list of categories", context do
|
|
|
|
insert(:category)
|
|
|
|
insert(:category)
|
|
|
|
|
|
|
|
query = """
|
|
|
|
{
|
|
|
|
categories {
|
|
|
|
id,
|
|
|
|
title,
|
|
|
|
description,
|
|
|
|
picture {
|
|
|
|
url,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
"""
|
|
|
|
|
|
|
|
res =
|
|
|
|
context.conn
|
|
|
|
|> get("/api", AbsintheHelpers.query_skeleton(query, "categories"))
|
|
|
|
|
|
|
|
assert json_response(res, 200)["data"]["categories"] |> length == 2
|
|
|
|
end
|
|
|
|
|
|
|
|
# We can't test an upload…yet?
|
2018-11-29 17:43:22 +01:00
|
|
|
# test "create_category/3 creates a category", %{conn: conn, actor: actor, user: user} do
|
2018-11-06 10:30:27 +01:00
|
|
|
# mutation = """
|
|
|
|
# mutation {
|
|
|
|
# createCategory(title: "my category", description: "my desc") {
|
|
|
|
# id,
|
|
|
|
# title,
|
|
|
|
# description,
|
|
|
|
# },
|
|
|
|
# }
|
|
|
|
# """
|
|
|
|
|
|
|
|
# res =
|
|
|
|
# conn
|
2018-11-29 17:43:22 +01:00
|
|
|
# |> auth_conn(user)
|
2018-11-06 10:30:27 +01:00
|
|
|
# |> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
|
|
|
|
|
|
|
# assert json_response(res, 200)["data"]["createCategory"]["title"] == "my category"
|
|
|
|
# end
|
2018-11-07 08:34:25 +01:00
|
|
|
|
|
|
|
# test "create_category/3 doesn't create a category if the user isn't logged in", %{conn: conn, actor: actor} do
|
|
|
|
# mutation = """
|
|
|
|
# mutation {
|
|
|
|
# createCategory(title: "my category", description: "my desc") {
|
|
|
|
# id,
|
|
|
|
# title,
|
|
|
|
# description,
|
|
|
|
# },
|
|
|
|
# }
|
|
|
|
# """
|
|
|
|
|
|
|
|
# res =
|
|
|
|
# conn
|
|
|
|
# |> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
|
|
|
|
|
|
|
# assert hd(json_response(res, 200)["errors"])["message"] ==
|
|
|
|
# "You are not allowed to create a category if not connected"
|
|
|
|
# end
|
2018-11-06 10:30:27 +01:00
|
|
|
end
|
|
|
|
end
|