faker = \Faker\Factory::create(); Model::reguard(); } public function testCompanyList() { $data = [ 'first_name' => $this->faker->firstName, 'last_name' => $this->faker->lastName, 'name' => $this->faker->company, 'email' => $this->faker->unique()->safeEmail, 'password' => 'ALongAndBrilliantPassword123', '_token' => csrf_token(), 'privacy_policy' => 1, 'terms_of_service' => 1 ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), ])->post('/api/v1/signup?include=account', $data); $response->assertStatus(200); $acc = $response->json(); $account = Account::find($this->decodePrimaryKey($acc['data'][0]['account']['id'])); $token = $account->default_company->tokens->first()->token; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, ])->get('/api/v1/companies'); $response->assertStatus(200); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, ])->post('/api/v1/companies?include=company', [ 'name' => 'A New Company', 'logo' => UploadedFile::fake()->image('avatar.jpg') ] ) ->assertStatus(200)->decodeResponseJson(); $company = Company::find($this->decodePrimaryKey($response['data'][0]['company']['id'])); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, ])->post('/api/v1/companies/', [ 'name' => 'A New Company', 'company_logo' => UploadedFile::fake()->create('avatar.pdf',100) ] ) ->assertStatus(302); // Log::error($company); $token = CompanyToken::whereCompanyId($company->id)->first()->token; $company_update = [ 'name' => 'CHANGE NAME', // 'logo' => UploadedFile::fake()->image('avatar.jpg') ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, ])->put('/api/v1/companies/'.$this->encodePrimaryKey($company->id), $company_update) ->assertStatus(200); $settings = CompanySettings::defaults(); $settings->custom_value1 = 'test'; $settings->invoice_design_id = '2'; $settings->quote_design_id = 1; $company->settings = $settings; // $this->withoutExceptionHandling(); // try{ $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, ])->put('/api/v1/companies/'.$this->encodePrimaryKey($company->id), $company->toArray()) ->assertStatus(200)->decodeResponseJson(); // } // catch(ValidationException $e) { // // \Log::error('in the validator'); // $message = json_decode($e->validator->getMessageBag(),1); // \Log::error($message); // $this->assertNotNull($message); // } $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, ])->get('/api/v1/companies/'.$this->encodePrimaryKey($company->id)) ->assertStatus(200)->decodeResponseJson(); //\Log::error($response); //$this->assertEquals(1, $response['data']['size_id']); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, ])->delete('/api/v1/companies/'.$this->encodePrimaryKey($company->id)) ->assertStatus(200); } }