Skip to content

Commit bc97f8f

Browse files
authored
Merge pull request code-corps#301 from Le6ow5k1/preview_view_test
Add test for preview view
2 parents 3342869 + 2f81cf1 commit bc97f8f

3 files changed

Lines changed: 55 additions & 1 deletion

File tree

circle.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ dependencies:
1313
- mix compile
1414
test:
1515
override:
16-
- mix test --include requires_env --cover
16+
- |
17+
if [ ${CIRCLE_PR_USERNAME} ]; then MIX_ENV=test mix test --cover; else MIX_ENV=test mix test --include requires_env --cover; fi
18+
1719
post:
1820
- mix inch.report
1921

test/support/factories.ex

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,4 +128,12 @@ defmodule CodeCorps.Factories do
128128
skill: build(:skill)
129129
}
130130
end
131+
132+
def preview_factory do
133+
%CodeCorps.Preview{
134+
body: "Bar",
135+
markdown: "Bar",
136+
user: build(:user)
137+
}
138+
end
131139
end

test/views/preview_view_test.exs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
defmodule CodeCorps.PreviewViewTest do
2+
use CodeCorps.ConnCase, async: true
3+
4+
alias CodeCorps.Repo
5+
6+
import Phoenix.View
7+
8+
test "renders all attributes and relationships properly" do
9+
user = insert(:user)
10+
preview = insert(:preview, user: user)
11+
12+
preview = CodeCorps.Preview
13+
|> Repo.get(preview.id)
14+
|> Repo.preload([:user])
15+
16+
rendered_json = render(CodeCorps.PreviewView, "show.json-api", data: preview)
17+
18+
expected_json = %{
19+
data: %{
20+
id: preview.id |> Integer.to_string,
21+
type: "preview",
22+
attributes: %{
23+
"body" => preview.body,
24+
"inserted-at" => preview.inserted_at,
25+
"markdown" => preview.markdown,
26+
"updated-at" => preview.updated_at
27+
},
28+
relationships: %{
29+
"user" => %{
30+
data: %{
31+
id: preview.user_id |> Integer.to_string,
32+
type: "user"
33+
}
34+
}
35+
}
36+
},
37+
jsonapi: %{
38+
version: "1.0"
39+
}
40+
}
41+
42+
assert expected_json == rendered_json
43+
end
44+
end

0 commit comments

Comments
 (0)