Page MenuHomePhorge

D5034.1775261392.diff
No OneTemporary

Authored By
Unknown
Size
3 KB
Referenced Files
None
Subscribers
None

D5034.1775261392.diff

diff --git a/config.demo/src/database/seeds/DiscountSeeder.php b/config.demo/src/database/seeds/DiscountSeeder.php
--- a/config.demo/src/database/seeds/DiscountSeeder.php
+++ b/config.demo/src/database/seeds/DiscountSeeder.php
@@ -19,6 +19,7 @@
'description' => 'Free Account',
'discount' => 100,
'active' => true,
+ 'code' => 'FREE',
]
);
diff --git a/src/app/Http/Controllers/API/SignupController.php b/src/app/Http/Controllers/API/SignupController.php
--- a/src/app/Http/Controllers/API/SignupController.php
+++ b/src/app/Http/Controllers/API/SignupController.php
@@ -380,11 +380,12 @@
$domain = null;
$user_status = User::STATUS_RESTRICTED;
- if (
- $request->discount && $request->discount->discount == 100
- && $request->plan->mode == Plan::MODE_MANDATE
- ) {
- $user_status = User::STATUS_ACTIVE;
+ if ($request->discount && $request->discount->discount == 100) {
+ if ($request->plan->mode == Plan::MODE_MANDATE) {
+ $user_status = User::STATUS_ACTIVE;
+ } else {
+ $user_status = User::STATUS_NEW;
+ }
}
DB::beginTransaction();
diff --git a/src/tests/Feature/Controller/SignupTest.php b/src/tests/Feature/Controller/SignupTest.php
--- a/src/tests/Feature/Controller/SignupTest.php
+++ b/src/tests/Feature/Controller/SignupTest.php
@@ -659,11 +659,9 @@
$code->refresh();
// Check if the user has been created
- $user = User::where('email', $identity)->first();
-
- $this->assertNotEmpty($user);
- $this->assertSame($identity, $user->email);
+ $user = User::where('email', $identity)->firstOrFail();
$this->assertTrue($user->isRestricted());
+ $this->assertTrue($user->isNew());
// Check if the code has been updated and soft-deleted
$this->assertTrue($code->trashed());
@@ -681,9 +679,25 @@
$discount = Discount::where('code', 'TEST')->first();
$this->assertSame($discount->id, $user->wallets()->first()->discount_id);
- // TODO: Check SKUs/Plan
+ // Test signup with 100% discount
+ $code->deleted_at = null;
+ $code->user_id = null;
+ $code->voucher = 'FREE';
+ $code->timestamps = false;
+ $code->save();
+ $user->forceDeleteQuietly();
+ $data['voucher'] = 'FREE';
- // TODO: Check if the access token works
+ // FIXME: For some reason this request becomes http://localhost and returns 405 for that reason
+ $this->useRegularUrl(); // this fixes the issue
+ $this->post('/api/auth/signup', $data)->assertStatus(200);
+
+ $user = User::where('email', $identity)->firstOrFail();
+ $this->assertFalse($user->isRestricted());
+ $this->assertTrue($user->isNew());
+
+ $discount = Discount::where('code', 'FREE')->first();
+ $this->assertSame($discount->id, $user->wallets()->first()->discount_id);
}
/**

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 4, 12:09 AM (17 h, 13 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18827373
Default Alt Text
D5034.1775261392.diff (3 KB)

Event Timeline