@@ -109,4 +109,76 @@ public function testUnknownFunctionFailure()
109
109
);
110
110
ParseCloud::run ('unknown_function ' , $ params );
111
111
}
112
+
113
+ /**
114
+ * @group cloud-code-jobs
115
+ */
116
+ public function testGetJobsData ()
117
+ {
118
+ $ jobsData = ParseCloud::getJobsData ();
119
+ $ this ->assertNotNull ($ jobsData ['jobs ' ]);
120
+ $ this ->assertNotNull ($ jobsData ['in_use ' ]);
121
+ $ this ->assertEquals (0 , count ($ jobsData ['in_use ' ]));
122
+ $ this ->assertEquals (3 , count ($ jobsData ['jobs ' ]));
123
+ }
124
+
125
+ /**
126
+ * @group cloud-code-jobs
127
+ */
128
+ public function testRunJob ()
129
+ {
130
+ $ jobStatusId = ParseCloud::startJob ('CloudJob1 ' , [
131
+ 'startedBy ' => 'Monty Python '
132
+ ]);
133
+ $ this ->assertNotNull ($ jobStatusId );
134
+
135
+ $ jobStatus = ParseCloud::getJobStatus ($ jobStatusId );
136
+ $ this ->assertNotNull ($ jobStatus );
137
+ $ this ->assertEquals ('succeeded ' , $ jobStatus ->get ('status ' ));
138
+ $ this ->assertEquals ('Monty Python ' , $ jobStatus ->get ('params ' )['startedBy ' ]);
139
+ }
140
+
141
+ /**
142
+ * @group cloud-code-jobs
143
+ */
144
+ public function testLongJob ()
145
+ {
146
+ $ jobStatusId = ParseCloud::startJob ('CloudJob2 ' );
147
+ $ jobStatus = ParseCloud::getJobStatus ($ jobStatusId );
148
+ $ this ->assertNotNull ($ jobStatus );
149
+ $ this ->assertEquals ('running ' , $ jobStatus ->get ('status ' ));
150
+ }
151
+
152
+ /**
153
+ * @group cloud-code-jobs
154
+ */
155
+ public function testBadJob ()
156
+ {
157
+ $ this ->setExpectedException ('Parse\ParseException ' , 'Invalid job. ' );
158
+ ParseCloud::startJob ('bad_job ' );
159
+ }
160
+
161
+ /**
162
+ * @group cloud-code-jobs
163
+ */
164
+ public function testFailingJob ()
165
+ {
166
+ $ jobStatusId = ParseCloud::startJob ('CloudJobFailing ' );
167
+ $ this ->assertNotNull ($ jobStatusId );
168
+
169
+ $ jobStatus = ParseCloud::getJobStatus ($ jobStatusId );
170
+ $ this ->assertNotNull ($ jobStatus );
171
+ $ this ->assertEquals ('failed ' , $ jobStatus ->get ('status ' ));
172
+ $ this ->assertEquals ('cloud job failed ' , $ jobStatus ->get ('message ' ));
173
+ }
174
+
175
+ /**
176
+ * @group cloud-code-jobs
177
+ */
178
+ public function testGettingNotARealJobStatus ()
179
+ {
180
+ $ this ->setExpectedException ('Parse\ParseException ' , 'Object not found. ' );
181
+ $ jobStatus = ParseCloud::getJobStatus ('not-a-real-job-status ' );
182
+ $ this ->assertNull ($ jobStatus );
183
+ }
112
184
}
0 commit comments