mirror of
https://github.com/mgerb/classic-wow-forums
synced 2026-01-11 09:32:51 +00:00
figuring out testing - works pretty good so far
This commit is contained in:
41
test/myapp/data/thread_test.exs
Normal file
41
test/myapp/data/thread_test.exs
Normal file
@@ -0,0 +1,41 @@
|
||||
defmodule MyApp.Data.ThreadTest do
|
||||
use MyAppWeb.ConnCase, async: true
|
||||
import MyApp.Data.Thread
|
||||
import MyApp.Data.TestHelpers
|
||||
|
||||
defp new_thread(userID, category_id \\ 1) do
|
||||
%{
|
||||
"title" => "test title",
|
||||
"category_id" => category_id,
|
||||
"content" => "test content",
|
||||
"user_id" => userID,
|
||||
}
|
||||
end
|
||||
|
||||
test "insert_thread: try to insert with no parameters" do
|
||||
assert insert_thread(%{}) == {:error,
|
||||
[%{title: "can't be blank"}, %{category_id: "can't be blank"},
|
||||
%{content: "can't be blank"}, %{user_id: "can't be blank"}]}
|
||||
end
|
||||
|
||||
test "insert_thread: insert as invalid user" do
|
||||
assert insert_thread(new_thread(9238748)) == {:error, [%{user_id: "does not exist"}]}
|
||||
end
|
||||
|
||||
test "insert_thread: insert as invalid category_id" do
|
||||
{:ok, user} = new_user()
|
||||
assert insert_thread(new_thread(user.id, 2342342343)) == {:error, [%{category_id: "does not exist"}]}
|
||||
end
|
||||
|
||||
test "new thread should be inserted" do
|
||||
{:ok, user} = new_user()
|
||||
{:ok, thread} = insert_thread(new_thread(user.id))
|
||||
assert thread.title == "test title"
|
||||
assert thread.category_id == 1
|
||||
assert thread.user_id == user.id
|
||||
assert thread.content == "test content"
|
||||
end
|
||||
|
||||
# TODO: update thread
|
||||
|
||||
end
|
||||
49
test/myapp/data/user_test.exs
Normal file
49
test/myapp/data/user_test.exs
Normal file
@@ -0,0 +1,49 @@
|
||||
defmodule MyApp.Data.UserTest do
|
||||
use MyAppWeb.ConnCase, async: true
|
||||
import MyApp.Data.User
|
||||
import MyApp.Data.TestHelpers
|
||||
|
||||
test "user is inserted into database" do
|
||||
{:ok, user} = new_user()
|
||||
assert user == %{
|
||||
access_token: "test_token",
|
||||
battle_net_id: 1,
|
||||
battletag: "mgerb42",
|
||||
id: user.id,
|
||||
permissions: "user",
|
||||
}
|
||||
end
|
||||
|
||||
test "user's battletag is updated" do
|
||||
{:ok, user} = new_user()
|
||||
|
||||
# update user battletag
|
||||
user = user
|
||||
|> atom_key_to_string()
|
||||
|> Map.put("battletag", "mgerb")
|
||||
|
||||
{:ok, user} = upsert_user(user)
|
||||
assert user == %{
|
||||
access_token: "test_token",
|
||||
battle_net_id: 1,
|
||||
battletag: "mgerb",
|
||||
id: user.id,
|
||||
permissions: "user",
|
||||
}
|
||||
|
||||
# call upsert again with same battletag
|
||||
{:ok, user} = user
|
||||
|> atom_key_to_string()
|
||||
|> upsert_user()
|
||||
|
||||
assert user == %{
|
||||
access_token: "test_token",
|
||||
battle_net_id: 1,
|
||||
battletag: "mgerb",
|
||||
id: user.id,
|
||||
permissions: "user",
|
||||
}
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user