diff --git a/app/Http/Resources/UserSubscription.php b/app/Http/Resources/UserSubscription.php index 7c8e6dae..73e505e4 100644 --- a/app/Http/Resources/UserSubscription.php +++ b/app/Http/Resources/UserSubscription.php @@ -17,6 +17,7 @@ class UserSubscription extends JsonResource $active_subscription = $this->subscription('main') ->asStripeSubscription(); + // TODO: vybrat z cache $subscription = resolve('App\Services\StripeService') ->getPlan($this->subscription('main')->stripe_plan); diff --git a/tests/Feature/AdminTest.php b/tests/Feature/AdminTest.php index 14593671..b63d40df 100644 --- a/tests/Feature/AdminTest.php +++ b/tests/Feature/AdminTest.php @@ -136,7 +136,7 @@ class AdminTest extends TestCase ->create([ 'user_id' => $user->id, 'type' => $mimetype, - 'mimetype' => $mimetype, + 'mimetype' => $mimetype, 'filesize' => 1000000, ]); }); diff --git a/tests/Feature/SubscriptionTest.php b/tests/Feature/SubscriptionTest.php index 9ff2b142..ec134854 100644 --- a/tests/Feature/SubscriptionTest.php +++ b/tests/Feature/SubscriptionTest.php @@ -231,4 +231,49 @@ class SubscriptionTest extends TestCase 'customer' => $this->user['stripe_id'] ]); } + + /** + * @test + */ + public function it_get_user_subscription_from_admin() + { + $user = User::factory(User::class) + ->create($this->user); + + Sanctum::actingAs($user); + + $this->postJson('/api/user/subscription/upgrade', [ + 'billing' => $this->billing, + 'plan' => $this->plan, + 'payment' => [ + 'type' => 'stripe', + ], + ])->assertStatus(204); + + $admin = User::factory(User::class) + ->create(['role' => 'admin']); + + Sanctum::actingAs($admin); + + $this->getJson("/api/admin/users/$user->id/subscription") + ->assertStatus(200) + ->assertExactJson([ + "data" => [ + "id" => "business-pack", + "type" => "subscription", + "attributes" => [ + "incomplete" => false, + "active" => true, + "canceled" => false, + "name" => "Business Packs", + "capacity" => 1000, + "capacity_formatted" => "1TB", + "slug" => "business-pack", + "canceled_at" => format_date(Carbon::now(), '%d. %B. %Y'), + "created_at" => format_date(Carbon::now(), '%d. %B. %Y'), + "ends_at" => format_date(Carbon::now()->addMonth(), '%d. %B. %Y'), + ] + ] + ]); + } }