Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Feature/EntitlementTest.php
Show First 20 Lines • Show All 165 Lines • ▼ Show 20 Lines | public function testBillDeletedEntitlement(): void | ||||
$groupware = \App\Sku::withEnvTenantContext()->where('title', 'groupware')->first(); | $groupware = \App\Sku::withEnvTenantContext()->where('title', 'groupware')->first(); | ||||
$entitlement = $wallet->entitlements()->where('sku_id', $groupware->id)->first(); | $entitlement = $wallet->entitlements()->where('sku_id', $groupware->id)->first(); | ||||
$entitlement->delete(); | $entitlement->delete(); | ||||
$this->assertSame($wallet->refresh()->balance, $balance); | $this->assertSame($wallet->refresh()->balance, $balance); | ||||
} | } | ||||
/** | /** | ||||
* Test Entitlement::entitlementTitle() | * Test EntitleableTrait::toString() | ||||
*/ | */ | ||||
public function testEntitleableTitle(): void | public function testEntitleableTitle(): void | ||||
{ | { | ||||
Queue::fake(); | Queue::fake(); | ||||
$packageDomain = Package::withEnvTenantContext()->where('title', 'domain-hosting')->first(); | $packageDomain = Package::withEnvTenantContext()->where('title', 'domain-hosting')->first(); | ||||
$packageKolab = Package::withEnvTenantContext()->where('title', 'kolab')->first(); | $packageKolab = Package::withEnvTenantContext()->where('title', 'kolab')->first(); | ||||
$user = $this->getTestUser('entitled-user@custom-domain.com'); | $user = $this->getTestUser('entitled-user@custom-domain.com'); | ||||
Show All 14 Lines | public function testEntitleableTitle(): void | ||||
$sku_mailbox = \App\Sku::withEnvTenantContext()->where('title', 'mailbox')->first(); | $sku_mailbox = \App\Sku::withEnvTenantContext()->where('title', 'mailbox')->first(); | ||||
$sku_group = \App\Sku::withEnvTenantContext()->where('title', 'group')->first(); | $sku_group = \App\Sku::withEnvTenantContext()->where('title', 'group')->first(); | ||||
$sku_domain = \App\Sku::withEnvTenantContext()->where('title', 'domain-hosting')->first(); | $sku_domain = \App\Sku::withEnvTenantContext()->where('title', 'domain-hosting')->first(); | ||||
$entitlement = Entitlement::where('wallet_id', $wallet->id) | $entitlement = Entitlement::where('wallet_id', $wallet->id) | ||||
->where('sku_id', $sku_mailbox->id)->first(); | ->where('sku_id', $sku_mailbox->id)->first(); | ||||
$this->assertSame($user->email, $entitlement->entitleableTitle()); | $this->assertSame($user->email, $entitlement->entitleable->toString()); | ||||
$entitlement = Entitlement::where('wallet_id', $wallet->id) | $entitlement = Entitlement::where('wallet_id', $wallet->id) | ||||
->where('sku_id', $sku_group->id)->first(); | ->where('sku_id', $sku_group->id)->first(); | ||||
$this->assertSame($group->email, $entitlement->entitleableTitle()); | $this->assertSame($group->email, $entitlement->entitleable->toString()); | ||||
$entitlement = Entitlement::where('wallet_id', $wallet->id) | $entitlement = Entitlement::where('wallet_id', $wallet->id) | ||||
->where('sku_id', $sku_domain->id)->first(); | ->where('sku_id', $sku_domain->id)->first(); | ||||
$this->assertSame($domain->namespace, $entitlement->entitleableTitle()); | $this->assertSame($domain->namespace, $entitlement->entitleable->toString()); | ||||
// Make sure it still works if the entitleable is deleted | // Make sure it still works if the entitleable is deleted | ||||
$domain->delete(); | $domain->delete(); | ||||
$entitlement->refresh(); | $entitlement->refresh(); | ||||
$this->assertSame($domain->namespace, $entitlement->entitleableTitle()); | $this->assertSame($domain->namespace, $entitlement->entitleable->toString()); | ||||
$this->assertNotNull($entitlement->entitleable); | $this->assertNotNull($entitlement->entitleable); | ||||
} | } | ||||
} | } |