makeTestData(); Session::start(); $this->faker = \Faker\Factory::create(); Model::reguard(); } public function testClientCountryCodeValidationTrue() { $data = [ 'name' => $this->faker->firstName, 'id_number' => 'Coolio', 'country_code' => 'AM' ]; $response = false; try{ $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/', $data); } catch (ValidationException $e) { $message = json_decode($e->validator->getMessageBag(), 1); nlog($message); } $response->assertStatus(200); } public function testClientNoneValidation() { $data = [ 'name' => $this->faker->firstName, 'number' => '', ]; $response = false; try{ $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/', $data); } catch (ValidationException $e) { $message = json_decode($e->validator->getMessageBag(), 1); nlog($message); } $response->assertStatus(200); } public function testClientNullValidation() { $data = [ 'name' => $this->faker->firstName, 'number' => null, ]; $response = false; try{ $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/', $data); } catch (ValidationException $e) { $message = json_decode($e->validator->getMessageBag(), 1); nlog($message); } $response->assertStatus(200); } public function testClientCountryCodeValidationTrueIso3() { $data = [ 'name' => $this->faker->firstName, 'id_number' => 'Coolio', 'country_code' => 'ARM' ]; $response = false; try{ $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/', $data); } catch (ValidationException $e) { $message = json_decode($e->validator->getMessageBag(), 1); nlog($message); } $response->assertStatus(200); } public function testClientCountryCodeValidationFalse() { $data = [ 'name' => $this->faker->firstName, 'id_number' => 'Coolio', 'country_code' => 'AdfdfdfM' ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/', $data); $response->assertStatus(302); } public function testClientPost() { $data = [ 'name' => $this->faker->firstName, ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients', $data); $response->assertStatus(200); } public function testDuplicateNumberCatch() { $data = [ 'name' => $this->faker->firstName, 'number' => 'iamaduplicate', ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients', $data); $response->assertStatus(200); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients', $data); $response->assertStatus(302); } public function testClientPut() { $data = [ 'name' => $this->faker->firstName, 'id_number' => 'Coolio', ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->put('/api/v1/clients/'.$this->encodePrimaryKey($this->client->id), $data); $response->assertStatus(200); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->put('/api/v1/clients/'.$this->encodePrimaryKey($this->client->id), $data); $response->assertStatus(200); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/', $data); $response->assertStatus(302); } public function testClientGet() { $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->get('/api/v1/clients/'.$this->encodePrimaryKey($this->client->id)); $response->assertStatus(200); } public function testClientNotArchived() { $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->get('/api/v1/clients/'.$this->encodePrimaryKey($this->client->id)); $arr = $response->json(); $this->assertEquals(0, $arr['data']['archived_at']); } public function testClientArchived() { $data = [ 'ids' => [$this->encodePrimaryKey($this->client->id)], ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/bulk?action=archive', $data); $arr = $response->json(); $this->assertNotNull($arr['data'][0]['archived_at']); } public function testClientRestored() { $data = [ 'ids' => [$this->encodePrimaryKey($this->client->id)], ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/bulk?action=restore', $data); $arr = $response->json(); $this->assertEquals(0, $arr['data'][0]['archived_at']); } public function testClientDeleted() { $data = [ 'ids' => [$this->encodePrimaryKey($this->client->id)], ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/bulk?action=delete', $data); $arr = $response->json(); $this->assertTrue($arr['data'][0]['is_deleted']); } public function testClientCurrencyCodeValidationTrue() { $data = [ 'name' => $this->faker->firstName, 'id_number' => 'Coolio', 'currency_code' => 'USD' ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/', $data); $response->assertStatus(200); } public function testClientCurrencyCodeValidationFalse() { $data = [ 'name' => $this->faker->firstName, 'id_number' => 'Coolio', 'currency_code' => 'R' ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/clients/', $data); $response->assertStatus(302); } }