makeTestData(); } public function testUpdatingCompanyUserReactSettings() { $company_user = CompanyUser::whereUserId($this->user->id)->whereCompanyId($this->company->id)->first(); $this->user->company_user = $company_user; $settings = [ 'react_settings' => [ 'show_pdf_preview' => true, 'react_notification_link' => false ], ]; $response = null; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->putJson('/api/v1/company_users/'.$this->encodePrimaryKey($this->user->id).'/preferences?include=company_user', $settings); $response->assertStatus(200); $arr = $response->json(); $this->assertTrue($arr['data']['company_user']['react_settings']['show_pdf_preview']); $this->assertFalse($arr['data']['company_user']['react_settings']['react_notification_link']); $settings = [ 'react_settings' => [ 'show_pdf_preview' => false, 'react_notification_link' => true ], ]; $response = null; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->putJson('/api/v1/company_users/'.$this->encodePrimaryKey($this->user->id).'/preferences?include=company_user', $settings); $response->assertStatus(200); $arr = $response->json(); $this->assertFalse($arr['data']['company_user']['react_settings']['show_pdf_preview']); $this->assertTrue($arr['data']['company_user']['react_settings']['react_notification_link']); } public function testUpdatingCompanyUserAsAdmin() { $settings = new \stdClass(); $settings->invoice = 'ninja'; $company_user = CompanyUser::query() ->where('user_id', $this->user->id) ->where('company_id', $this->company->id) ->first(); $this->assertNotNull($company_user); $company_user->settings = $settings; $this->user->company_user = $company_user; $this->user->setRelation('company_user', $company_user); $user['company_user'] = $company_user->toArray(); $response = null; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->putJson("/api/v1/company_users/{$this->user->hashed_id}", $user); $response->assertStatus(200); $arr = $response->json(); $this->assertEquals('ninja', $arr['data']['settings']['invoice']); } }