@@ -3,7 +3,7 @@ defmodule CodeCorps.UserTaskPolicyTest do
33
44 use CodeCorps.PolicyCase
55
6- import CodeCorps.UserTaskPolicy , only: [ create?: 2 , delete?: 2 ]
6+ import CodeCorps.UserTaskPolicy , only: [ create?: 2 , update?: 2 , delete?: 2 ]
77 import CodeCorps.UserTask , only: [ create_changeset: 2 ]
88
99 alias CodeCorps.UserTask
@@ -79,6 +79,56 @@ defmodule CodeCorps.UserTaskPolicyTest do
7979 end
8080 end
8181
82+ describe "update?" do
83+ test "returns false when user is not member of organization" do
84+ { user , task } = generate_data_for ( "non-member" )
85+
86+ user_task = insert ( :user_task , task: task )
87+
88+ refute update? ( user , user_task )
89+ end
90+
91+ test "returns false when user is pending member of organization" do
92+ { user , task } = generate_data_for ( "pending" )
93+
94+ user_task = insert ( :user_task , task: task )
95+
96+ refute update? ( user , user_task )
97+ end
98+
99+ test "returns true when user is contributor of organization" do
100+ { user , task } = generate_data_for ( "contributor" )
101+
102+ user_task = insert ( :user_task , task: task )
103+
104+ assert update? ( user , user_task )
105+ end
106+
107+ test "returns true when user is admin of organization" do
108+ { user , task } = generate_data_for ( "admin" )
109+
110+ user_task = insert ( :user_task , task: task )
111+
112+ assert update? ( user , user_task )
113+ end
114+
115+ test "returns true when user is owner of organization" do
116+ { user , task } = generate_data_for ( "owner" )
117+
118+ user_task = insert ( :user_task , task: task )
119+
120+ assert update? ( user , user_task )
121+ end
122+
123+ test "returns true when user is author of task" do
124+ { user , task } = generate_data_for ( "author" )
125+
126+ user_task = insert ( :user_task , task: task )
127+
128+ assert update? ( user , user_task )
129+ end
130+ end
131+
82132 describe "delete?" do
83133 test "returns false when user is not member of organization" do
84134 { user , task } = generate_data_for ( "non-member" )
0 commit comments