<?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, 2)->create(['name' => 'José da Silva']);
|
|
factory(Associate::class, 2)->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, 2)->create(['name' => 'José da Silva']);
|
|
factory(Associate::class, 2)->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');
|
|
}
|
|
}
|