/**
  * A basic functional test example.
  *
  * @return void
  */
 public function testMessagesSendRequestOk()
 {
     Auth::shouldReceive('user')->once()->andReturn((object) ['id' => 1]);
     $this->call('POST', '/v1/messages/send', ['recipient_id' => '1', 'payload' => 'daljsdsakj']);
     $this->assertCount(1, Message::all());
     $this->assertResponseOk();
 }
Esempio n. 2
0
 Route::post('jobs/{job_id}/candidates', 'JobsController@addcandidates');
 Route::get('jobs/{job_id}/messages', function ($jobId) {
     // if (Auth::user()->id !== $user1 && Auth::user()->id !== $user2) \App::abort(403, 'Unauthorized action.');
     $user1 = Auth::user()->id;
     $user2 = \Motibu\Models\Job::find($jobId)->agent_id;
     $messages = \Motibu\Models\Message::with('sender')->where('job_id', '=', $jobId)->where(function ($query) use($user1, $user2) {
         $query->where('sender_id', '=', $user1)->where('recipient_id', '=', $user2);
     })->orWhere(function ($query) use($user1, $user2) {
         $query->where('recipient_id', '=', $user1)->where('sender_id', '=', $user2);
     })->get();
     return Response::json($messages);
 });
 Route::post('jobs/{job_id}/messages', function ($jobId) {
     $payload = \Input::get('payload');
     $recipientId = \Motibu\Models\Job::find($jobId)->agent_id;
     $success = \Motibu\Models\Message::create(['sender_id' => Auth::user()->id, 'recipient_id' => $recipientId, 'job_id' => $jobId, 'payload' => $payload]);
     if ($success) {
         $wsClient = new Motibu\Services\WebsocketClient();
         $wsClient->connect('127.0.0.1', 8081, '/');
         $payload = json_encode(['type' => 'check_messages', 'userId' => $recipientId]);
         $wsClient->sendData($payload);
     }
     return Response::json(['success' => !!$success]);
 });
 /**
  * Client Routes
  */
 Route::get('clients', 'ClientsController@index');
 Route::post('clients', 'ClientsController@create');
 Route::post('clients/{client_id}/update', 'ClientsController@update');
 Route::post('clients/{client_id}/delete', 'ClientsController@delete');