first commit
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Role;
|
||||
|
||||
beforeEach(function () {
|
||||
$this->artisan('db:seed');
|
||||
});
|
||||
|
||||
it('lists the seeded roles', function () {
|
||||
browserLogin();
|
||||
|
||||
visit('/roles')
|
||||
->assertNoJavaScriptErrors()
|
||||
->assertSee('Roles')
|
||||
->assertSee('Display Name')
|
||||
->assertSee('# of users with this role')
|
||||
->assertSee('Admin')
|
||||
->assertSee('User');
|
||||
});
|
||||
|
||||
it('creates a role', function () {
|
||||
browserLogin();
|
||||
|
||||
visit('/roles/create')
|
||||
->assertSee('Create New Role')
|
||||
->assertSee('Role Details')
|
||||
->fill('#name', 'Editor')
|
||||
->fill('#display_name', 'Content Editor')
|
||||
->fill('#description', 'Edits the content.')
|
||||
->click('Create Role')
|
||||
->assertSee('Role created successfully.');
|
||||
|
||||
expect(Role::where('name', 'Editor')->exists())->toBeTrue();
|
||||
});
|
||||
|
||||
it('edits a role', function () {
|
||||
browserLogin();
|
||||
|
||||
$role = Role::factory()->create(['name' => 'Reviewer', 'display_name' => 'Reviewer']);
|
||||
|
||||
visit("/roles/{$role->id}/edit")
|
||||
->assertSee('Role Details')
|
||||
->fill('#display_name', 'Peer Reviewer')
|
||||
->click('Update Role')
|
||||
->assertSee('Role updated successfully.');
|
||||
|
||||
expect($role->fresh()->display_name)->toBe('Peer Reviewer');
|
||||
});
|
||||
|
||||
it('asks for confirmation before deleting a role', function () {
|
||||
browserLogin();
|
||||
|
||||
Role::factory()->create(['name' => 'Temporary', 'display_name' => 'Temporary']);
|
||||
|
||||
// Only removable roles render the delete control, so the seeded roles do
|
||||
// not add a second match for this locator.
|
||||
visit('/roles')
|
||||
->assertSee('Temporary')
|
||||
->click('[aria-label="Delete Role"]')
|
||||
->assertSee('Are you sure that you want to delete this role?');
|
||||
});
|
||||
Reference in New Issue
Block a user