diff --git a/tests/Feature/CompanyTest.php b/tests/Feature/CompanyTest.php new file mode 100644 index 000000000000..256e4022ca9b --- /dev/null +++ b/tests/Feature/CompanyTest.php @@ -0,0 +1,107 @@ +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', $data); + + + $response->assertStatus(200); + + $acc = $response->json(); + + $account = Account::find($this->decodePrimaryKey($acc['data']['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/copmanies'); + + $response->assertStatus(200); + + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $token, + ])->post('/api/v1/companies/', + [ + 'name' => 'A New Company' + ] + ) + ->assertStatus(200); + + $product = Product::all()->first(); + + $product_update = [ + 'notes' => 'CHANGE' + ]; + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $token, + ])->put('/api/v1/products/'.$this->encodePrimaryKey($product->id), $product_update) + ->assertStatus(200); + + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $token, + ])->delete('/api/v1/products/'.$this->encodePrimaryKey($product->id)) + ->assertStatus(200); + } +}