makeTestData(); Session::start(); $this->faker = \Faker\Factory::create(); Model::reguard(); } public function testSubscriptionsGet() { $product = Product::factory()->create([ 'company_id' => $this->company->id, 'user_id' => $this->user->id, ]); $billing_subscription = Subscription::factory()->create([ 'product_ids' => $product->id, 'company_id' => $this->company->id, 'name' => Str::random(5) ]); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->get('/api/v1/subscriptions/' . $this->encodePrimaryKey($billing_subscription->id)); // nlog($response); $response->assertStatus(200); } public function testSubscriptionsPost() { $product = Product::factory()->create([ 'company_id' => $this->company->id, 'user_id' => $this->user->id, ]); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/subscriptions', ['product_ids' => $product->id, 'allow_cancellation' => true, 'name' => Str::random(5)]); // nlog($response); $response->assertStatus(200); } public function testSubscriptionPut() { $product = Product::factory()->create([ 'company_id' => $this->company->id, 'user_id' => $this->user->id, 'frequency_id' => RecurringInvoice::FREQUENCY_MONTHLY, ]); $response1 = $this ->withHeaders(['X-API-SECRET' => config('ninja.api_secret'),'X-API-TOKEN' => $this->token]) ->post('/api/v1/subscriptions', ['product_ids' => $product->id, 'name' => Str::random(5)]) ->assertStatus(200) ->json(); $response2 = $this ->withHeaders(['X-API-SECRET' => config('ninja.api_secret'),'X-API-TOKEN' => $this->token]) ->put('/api/v1/subscriptions/' . $response1['data']['id'], ['allow_cancellation' => true]) ->assertStatus(200) ->json(); $this->assertNotEquals($response1['data']['allow_cancellation'], $response2['data']['allow_cancellation']); } /* TypeError : Argument 1 passed to App\Transformers\SubscriptionTransformer::transform() must be an instance of App\Models\Subscription, bool given, called in /var/www/html/vendor/league/fractal/src/Scope.php on line 407 /var/www/html/app/Transformers/SubscriptionTransformer.php:35 /var/www/html/vendor/league/fractal/src/Scope.php:407 /var/www/html/vendor/league/fractal/src/Scope.php:349 /var/www/html/vendor/league/fractal/src/Scope.php:235 /var/www/html/app/Http/Controllers/BaseController.php:395 /var/www/html/app/Http/Controllers/SubscriptionController.php:408 */ public function testSubscriptionDeleted() { $product = Product::factory()->create([ 'company_id' => $this->company->id, 'user_id' => $this->user->id, ]); $billing_subscription = Subscription::factory()->create([ 'product_ids' => $product->id, 'company_id' => $this->company->id, 'name' => Str::random(5) ]); $response = $this ->withHeaders(['X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token]) ->delete('/api/v1/subscriptions/' . $this->encodePrimaryKey($billing_subscription->id)) ->assertStatus(200) ->json(); } }