Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elton182/963a3bb5080841344ac7272931fc62d5 to your computer and use it in GitHub Desktop.
Save elton182/963a3bb5080841344ac7272931fc62d5 to your computer and use it in GitHub Desktop.
Test no Controller
<?php
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use App\User;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class CategoryControllerTest extends TestCase
{
// use WithoutMiddleware;
use DatabaseTransactions;
/**
* A basic test example.
*
* @return void
*/
public function testIndex()
{
Auth::attempt(['email' => 'elton.nicolau@teste.com.br', 'password' => 'password']);
$response = $this->action('GET', 'Admin\CategoryController@index');
$this->see('Categorias');
}
public function testView()
{
Auth::attempt(['email' => 'elton.nicolau@teste.com.br', 'password' => 'password']);
$response = $this->action('GET', 'Admin\CategoryController@view', 1);
$this->assertViewHas('category');
}
public function testGetCategories()
{
Auth::attempt(['email' => 'elton.nicolau@teste.com.br', 'password' => 'password']);
$this->post('/admin/category/getCategories');
$this->seeJson(['draw' => 1]);
}
public function testAdd()
{
Auth::attempt(['email' => 'elton.nicolau@teste.com.br', 'password' => 'password']);
$this->visit('/admin/category/add')
->see('Nova Categoria')
->type('Direção Teste', 'name')
->press('Salvar');
$this->seeInDatabase('categories', ['name' => 'Direção Teste']);
}
public function testEdit()
{
Auth::attempt(['email' => 'elton.nicolau@teste.com.br', 'password' => 'password']);
$this->visit('/admin/category/edit/1')
->see('Editar Categoria')
->type('Teste', 'name')
->press('Salvar');
$this->seeInDatabase('categories', ['id' => 1,'name'=>'Teste']);
}
public function testDelete()
{
Auth::attempt(['email' => 'elton.nicolau@teste.com.br', 'password' => 'password']);
$this->call('POST', '/admin/category/delete', ['id' => 1]);
$this->notSeeInDatabase('categories', ['id' => 1,'name'=>'Teste']);
}
public function testDeleteFail()
{
Auth::attempt(['email' => 'elton.nicolau@teste.com.br', 'password' => 'password']);
$response = $this->call('POST', '/admin/category/delete', ['id' => 99999]);
$this->seeJson(['type' => 'error']);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment