Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Feature/Controller/UsersTest.php
Show First 20 Lines • Show All 907 Lines • ▼ Show 20 Lines | public function testUserResponse(): void | ||||
$this->assertTrue(is_array($result['accounts'])); | $this->assertTrue(is_array($result['accounts'])); | ||||
$this->assertTrue(is_array($result['wallets'])); | $this->assertTrue(is_array($result['wallets'])); | ||||
$this->assertCount(0, $result['accounts']); | $this->assertCount(0, $result['accounts']); | ||||
$this->assertCount(1, $result['wallets']); | $this->assertCount(1, $result['wallets']); | ||||
$this->assertSame($wallet->id, $result['wallet']['id']); | $this->assertSame($wallet->id, $result['wallet']['id']); | ||||
$this->assertArrayNotHasKey('discount', $result['wallet']); | $this->assertArrayNotHasKey('discount', $result['wallet']); | ||||
$this->assertTrue($result['statusInfo']['enableDomains']); | |||||
$this->assertTrue($result['statusInfo']['enableWallets']); | |||||
$this->assertTrue($result['statusInfo']['enableUsers']); | |||||
// Ned is John's wallet controller | |||||
$ned = $this->getTestUser('ned@kolab.org'); | $ned = $this->getTestUser('ned@kolab.org'); | ||||
$ned_wallet = $ned->wallets()->first(); | $ned_wallet = $ned->wallets()->first(); | ||||
$result = $this->invokeMethod(new UsersController(), 'userResponse', [$ned]); | $result = $this->invokeMethod(new UsersController(), 'userResponse', [$ned]); | ||||
$this->assertEquals($ned->id, $result['id']); | $this->assertEquals($ned->id, $result['id']); | ||||
$this->assertEquals($ned->email, $result['email']); | $this->assertEquals($ned->email, $result['email']); | ||||
$this->assertTrue(is_array($result['accounts'])); | $this->assertTrue(is_array($result['accounts'])); | ||||
$this->assertTrue(is_array($result['wallets'])); | $this->assertTrue(is_array($result['wallets'])); | ||||
$this->assertCount(1, $result['accounts']); | $this->assertCount(1, $result['accounts']); | ||||
$this->assertCount(1, $result['wallets']); | $this->assertCount(1, $result['wallets']); | ||||
$this->assertSame($wallet->id, $result['wallet']['id']); | $this->assertSame($wallet->id, $result['wallet']['id']); | ||||
$this->assertSame($wallet->id, $result['accounts'][0]['id']); | $this->assertSame($wallet->id, $result['accounts'][0]['id']); | ||||
$this->assertSame($ned_wallet->id, $result['wallets'][0]['id']); | $this->assertSame($ned_wallet->id, $result['wallets'][0]['id']); | ||||
$this->assertSame($provider, $result['wallet']['provider']); | $this->assertSame($provider, $result['wallet']['provider']); | ||||
$this->assertSame($provider, $result['wallets'][0]['provider']); | $this->assertSame($provider, $result['wallets'][0]['provider']); | ||||
$this->assertTrue($result['statusInfo']['enableDomains']); | |||||
$this->assertTrue($result['statusInfo']['enableWallets']); | |||||
$this->assertTrue($result['statusInfo']['enableUsers']); | |||||
// Test discount in a response | // Test discount in a response | ||||
$discount = Discount::where('code', 'TEST')->first(); | $discount = Discount::where('code', 'TEST')->first(); | ||||
$wallet->discount()->associate($discount); | $wallet->discount()->associate($discount); | ||||
$wallet->save(); | $wallet->save(); | ||||
$mod_provider = $provider == 'mollie' ? 'stripe' : 'mollie'; | $mod_provider = $provider == 'mollie' ? 'stripe' : 'mollie'; | ||||
$wallet->setSetting($mod_provider . '_id', 123); | $wallet->setSetting($mod_provider . '_id', 123); | ||||
$user->refresh(); | $user->refresh(); | ||||
$result = $this->invokeMethod(new UsersController(), 'userResponse', [$user]); | $result = $this->invokeMethod(new UsersController(), 'userResponse', [$user]); | ||||
$this->assertEquals($user->id, $result['id']); | $this->assertEquals($user->id, $result['id']); | ||||
$this->assertSame($discount->id, $result['wallet']['discount_id']); | $this->assertSame($discount->id, $result['wallet']['discount_id']); | ||||
$this->assertSame($discount->discount, $result['wallet']['discount']); | $this->assertSame($discount->discount, $result['wallet']['discount']); | ||||
$this->assertSame($discount->description, $result['wallet']['discount_description']); | $this->assertSame($discount->description, $result['wallet']['discount_description']); | ||||
$this->assertSame($mod_provider, $result['wallet']['provider']); | $this->assertSame($mod_provider, $result['wallet']['provider']); | ||||
$this->assertSame($discount->id, $result['wallets'][0]['discount_id']); | $this->assertSame($discount->id, $result['wallets'][0]['discount_id']); | ||||
$this->assertSame($discount->discount, $result['wallets'][0]['discount']); | $this->assertSame($discount->discount, $result['wallets'][0]['discount']); | ||||
$this->assertSame($discount->description, $result['wallets'][0]['discount_description']); | $this->assertSame($discount->description, $result['wallets'][0]['discount_description']); | ||||
$this->assertSame($mod_provider, $result['wallets'][0]['provider']); | $this->assertSame($mod_provider, $result['wallets'][0]['provider']); | ||||
// Jack is not a John's wallet controller | |||||
$jack = $this->getTestUser('jack@kolab.org'); | |||||
$result = $this->invokeMethod(new UsersController(), 'userResponse', [$jack]); | |||||
$this->assertFalse($result['statusInfo']['enableDomains']); | |||||
$this->assertFalse($result['statusInfo']['enableWallets']); | |||||
$this->assertFalse($result['statusInfo']['enableUsers']); | |||||
} | } | ||||
/** | /** | ||||
* List of alias validation cases for testValidateEmail() | * List of alias validation cases for testValidateEmail() | ||||
* | * | ||||
* @return array Arguments for testValidateEmail() | * @return array Arguments for testValidateEmail() | ||||
*/ | */ | ||||
public function dataValidateEmail(): array | public function dataValidateEmail(): array | ||||
▲ Show 20 Lines • Show All 93 Lines • Show Last 20 Lines |