email verification review

This commit is contained in:
Peter Papp
2021-07-15 13:55:49 +02:00
parent edfcf8e1bd
commit 157427c750
21 changed files with 323 additions and 12247 deletions

View File

@@ -266,7 +266,7 @@ class UserAccountTest extends TestCase
/**
* @test
*/
public function it_user_email_verify()
public function it_verify_user_email()
{
$user = User::factory(User::class)
->create([
@@ -279,9 +279,9 @@ class UserAccountTest extends TestCase
['id' => $user->id, 'hash' => sha1($user->email)]
);
$response = $this->getJson($verificationUrl);
$response->assertRedirect('successfully-verified');
$this
->getJson($verificationUrl)
->assertRedirect('successfully-verified');
$this->assertNotNull(User::find($user->id)->get('email_verified_at'));
}

View File

@@ -2,12 +2,11 @@
namespace Tests\Feature\App;
use App\Models\File;
use App\Models\Share;
use App\Models\User;
use App\Models\Zip;
use App\Services\SchedulerService;
use App\Services\SetupService;
use Carbon\Carbon;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Http\UploadedFile;
use Storage;
@@ -20,8 +19,8 @@ class SchedulerTest extends TestCase
public function __construct()
{
parent::__construct();
$this->setup = app()->make(SetupService::class);
$this->scheduler = app()->make(SchedulerService::class);
$this->setup = resolve(SetupService::class);
$this->scheduler = resolve(SchedulerService::class);
}
/**
@@ -99,4 +98,42 @@ class SchedulerTest extends TestCase
});
}
/**
* @test
*/
public function it_delete_non_verified_users_after_30_days()
{
$expiredUser = User::factory(User::class)
->create([
'email_verified_at' => null,
'created_at' => now()->subDays(31)
]);
$nonExpiredUser = User::factory(User::class)
->create([
'email_verified_at' => null,
'created_at' => now()->subDays(14)
]);
$verifiedUser = User::factory(User::class)
->create([
'email_verified_at' => now()->subDays(15),
'created_at' => now()->subDays(31)
]);
$this->scheduler->delete_unverified_users();
$this->assertDatabaseMissing('users', [
'id' => $expiredUser->id,
]);
$this->assertDatabaseHas('users', [
'id' => $nonExpiredUser->id,
]);
$this->assertDatabaseHas('users', [
'id' => $verifiedUser->id,
]);
}
}

View File

@@ -2,9 +2,22 @@
namespace Tests;
use Carbon\Carbon;
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
use Illuminate\Support\Facades\Notification;
abstract class TestCase extends BaseTestCase
{
use CreatesApplication;
public function setUp(): void
{
parent::setUp();
Carbon::setTestNow('1. January 2021');
Notification::fake();
$this->withoutExceptionHandling();
}
}