@@ -3,52 +3,109 @@ defmodule MastaniServer.Test.ContentFlags do
33
44 alias MastaniServer.CMS
55
6- # alias CMS.{Post, PostCommunityFlag, Repo, Video}
7- alias CMS . { Post , PostCommunityFlag }
6+ alias CMS . {
7+ Post ,
8+ PostCommunityFlag ,
9+ Repo ,
10+ RepoCommunityFlag ,
11+ Job ,
12+ JobCommunityFlag ,
13+ Video ,
14+ VideoCommunityFlag
15+ }
16+
817 alias Helper.ORM
918
1019 setup do
1120 { :ok , user } = db_insert ( :user )
12- { :ok , post } = db_insert ( :post )
13- { :ok , video } = db_insert ( :video )
14- { :ok , repo } = db_insert ( :repo )
21+ { :ok , community } = db_insert ( :community )
22+
23+ { :ok , post } = CMS . create_content ( community , :post , mock_attrs ( :post ) , user )
24+ { :ok , job } = CMS . create_content ( community , :job , mock_attrs ( :job ) , user )
25+ { :ok , video } = CMS . create_content ( community , :video , mock_attrs ( :video ) , user )
26+ { :ok , repo } = CMS . create_content ( community , :repo , mock_attrs ( :repo ) , user )
1527
16- { :ok , ~m( user post video repo) a }
28+ { :ok , ~m( user community post job video repo) a }
1729 end
1830
1931 describe "[cms post flag]" do
20- test "user can set pin flag on post based on community" , ~m( post) a do
21- community1_id = post . communities |> List . first ( ) |> Map . get ( :id )
22- CMS . set_community_flags ( % Post { id: post . id } , community1_id , % { pin: true } )
32+ test "user can set pin/trash flag on post based on community" , ~m( community post) a do
33+ community_id = community . id
34+ post_id = post . id
35+ { :ok , found } = PostCommunityFlag |> ORM . find_by ( ~m( post_id community_id) a )
36+ assert found . pin == false
37+ assert found . trash == false
2338
24- { :ok , found } =
25- ORM . find_by ( PostCommunityFlag , % { post_id: post . id , community_id: community1_id } )
39+ CMS . set_community_flags ( % Post { id: post . id } , community . id , % { pin: true , trash: true } )
40+
41+ { :ok , found } = PostCommunityFlag |> ORM . find_by ( ~m( post_id community_id) a )
2642
2743 assert found . pin == true
44+ assert found . trash == true
2845 assert found . post_id == post . id
29- assert found . community_id == community1_id
46+ assert found . community_id == community . id
3047 end
3148
3249 # TODO: set twice .. staff
3350 end
3451
35- # describe "[cms video flag]" do
36- # test "user can set pin flag on a video", ~m(user video)a do
37- # true
38- # end
39-
40- # test "user can set trash flag on a video", ~m(user video)a do
41- # true
42- # end
43- # end
44-
45- # describe "[cms repo flag]" do
46- # test "user can set pin flag on a repo", ~m(user repo)a do
47- # true
48- # end
49-
50- # test "user can set trash flag on a repo", ~m(user repo)a do
51- # true
52- # end
53- # end
52+ describe "[cms job flag]" do
53+ test "user can set pin/trash flag on job" , ~m( community job) a do
54+ community_id = community . id
55+ job_id = job . id
56+
57+ { :ok , found } = JobCommunityFlag |> ORM . find_by ( ~m( job_id community_id) a )
58+ assert found . pin == false
59+ assert found . trash == false
60+
61+ CMS . set_community_flags ( % Job { id: job . id } , community . id , % { pin: true , trash: true } )
62+
63+ { :ok , found } = JobCommunityFlag |> ORM . find_by ( ~m( job_id community_id) a )
64+
65+ assert found . pin == true
66+ assert found . trash == true
67+ assert found . job_id == job . id
68+ assert found . community_id == community . id
69+ end
70+ end
71+
72+ describe "[cms video flag]" do
73+ test "user can set pin/trash flag on a video" , ~m( community video) a do
74+ community_id = community . id
75+ video_id = video . id
76+
77+ { :ok , found } = VideoCommunityFlag |> ORM . find_by ( ~m( video_id community_id) a )
78+ assert found . pin == false
79+ assert found . trash == false
80+
81+ CMS . set_community_flags ( % Video { id: video . id } , community . id , % { pin: true , trash: true } )
82+
83+ { :ok , found } = VideoCommunityFlag |> ORM . find_by ( ~m( video_id community_id) a )
84+
85+ assert found . pin == true
86+ assert found . trash == true
87+ assert found . video_id == video . id
88+ assert found . community_id == community . id
89+ end
90+ end
91+
92+ describe "[cms repo flag]" do
93+ test "user can set pin/trash flag on repo" , ~m( community repo) a do
94+ community_id = community . id
95+ repo_id = repo . id
96+
97+ { :ok , found } = RepoCommunityFlag |> ORM . find_by ( ~m( repo_id community_id) a )
98+ assert found . pin == false
99+ assert found . trash == false
100+
101+ CMS . set_community_flags ( % Repo { id: repo . id } , community . id , % { pin: true , trash: true } )
102+
103+ { :ok , found } = RepoCommunityFlag |> ORM . find_by ( ~m( repo_id community_id) a )
104+
105+ assert found . pin == true
106+ assert found . trash == true
107+ assert found . repo_id == repo . id
108+ assert found . community_id == community . id
109+ end
110+ end
54111end
0 commit comments