Sistema de controles da União de Ciclistas do Brasil
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 

110 lines
3.5 KiB

<?php
namespace Tests\Feature\Collaborators\Associates;
use App\Associate;
use App\Collaborator;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Livewire\Livewire;
use Tests\TestCase;
class IndexTest extends TestCase
{
use RefreshDatabase;
/** @test */
public function a_collaborator_can_view_index_page()
{
$collaborator = factory(Collaborator::class)->create();
$this->be($collaborator, 'collaborators');
$this->get(route('collaborators.associates.index'))
->assertSuccessful()
->assertSeeLivewire('collaborators.associates.index');
}
/** @test */
public function index_paginates_results()
{
$collaborator = factory(Collaborator::class)->create();
$this->be($collaborator, 'collaborators');
factory(Associate::class)->create(['name' => 'José da Silva']);
factory(Associate::class)->create(['name' => 'Maria da Conceição']);
Livewire::test('collaborators.associates.index')
->assertSee('José da Silva')
->assertSee('Maria da Conceição')
->set('perPage', 1)
->assertSee('José da Silva')
->assertDontSee('Maria da Conceição');
}
/** @test */
public function index_is_searchable()
{
$collaborator = factory(Collaborator::class)->create();
$this->be($collaborator, 'collaborators');
factory(Associate::class)->create(['name' => 'José da Silva']);
factory(Associate::class)->create(['name' => 'Maria da Conceição']);
Livewire::test('collaborators.associates.index')
->assertSee('José da Silva')
->assertSee('Maria da Conceição')
->set('search', 'Maria da Conceição')
->assertDontSee('José da Silva')
->assertSee('Maria da Conceição');
}
/** @test */
public function index_is_filterable_by_associate_category_id()
{
$collaborator = factory(Collaborator::class)->create();
$this->be($collaborator, 'collaborators');
factory(Associate::class)->create([
'name' => 'José da Silva',
'associate_category_id' => 1,
]);
factory(Associate::class)->create([
'name' => 'Maria da Conceição',
'associate_category_id' => 2,
]);
Livewire::test('collaborators.associates.index')
->assertSee('José da Silva')
->assertSee('Maria da Conceição')
->set('associate_category_id', 2)
->assertDontSee('José da Silva')
->assertSee('Maria da Conceição');
}
/** @test */
public function index_is_filterable_by_gender()
{
$collaborator = factory(Collaborator::class)->create();
$this->be($collaborator, 'collaborators');
factory(Associate::class)->create([
'name' => 'José da Silva',
'profile' => [
'gender' => 'male',
],
]);
factory(Associate::class)->create([
'name' => 'Maria da Conceição',
'profile' => [
'gender' => 'female',
],
]);
Livewire::test('collaborators.associates.index')
->assertSee('José da Silva')
->assertSee('Maria da Conceição')
->set('gender', 'female')
->assertDontSee('José da Silva')
->assertSee('Maria da Conceição');
}
}