faker = \Faker\Factory::create(); Model::reguard(); $this->makeTestData(); $this->withoutMiddleware( ThrottleRequests::class ); } public function testQuoteList() { $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->get('/api/v1/quotes'); $response->assertStatus(200); } public function testQuoteRESTEndPoints() { $response = null; try{ $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->get('/api/v1/quotes/'.$this->encodePrimaryKey($this->quote->id)); } catch(ValidationException $e) { $message = json_decode($e->validator->getMessageBag(),1); \Log::error($message); } if($response) $response->assertStatus(200); $this->assertNotNull($response); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->get('/api/v1/quotes/'.$this->encodePrimaryKey($this->quote->id).'/edit'); $response->assertStatus(200); $quote_update = [ 'status_id' => Quote::STATUS_APPROVED, // 'client_id' => $this->encodePrimaryKey($quote->client_id), ]; $this->assertNotNull($this->quote); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->put('/api/v1/quotes/'.$this->encodePrimaryKey($this->quote->id), $quote_update); $response->assertStatus(200); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->delete('/api/v1/quotes/'.$this->encodePrimaryKey($this->quote->id)); $response->assertStatus(200); $client_contact = ClientContact::whereClientId($this->client->id)->first(); $data = [ 'client_id' => $this->encodePrimaryKey($this->client->id), 'date' => "2019-12-14", 'line_items' => [], 'invitations' => [ ['client_contact_id' => $this->encodePrimaryKey($client_contact->id)] ], ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/quotes', $data); $response->assertStatus(200); } }