Ze znajomymi zaczęliśmy pisać aplikację w Laravelu, wszystko postawione na git, podzieliliśmy się zadaniami.
Mi przypadło doinstalować composerem role laravel (
https://github.com/Zizaco/entrust ) - przed wrzuceniem na gita muszę to przetestować, tylko w jaki sposób.
Poczytałem o testach jednostkowych - tylko nie wiem czy za ich pomocą powinienem to przetestować? Liczę na pomoc bardziej doświadczonych w takich sprawach.
I jeśli testy jednostkowe to dobry pomysł, czy dobrze je stosuję?
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class RoleTest extends TestCase
{
/**
* TODO: Unit Test Role
*
* 1. tworzenie użytkownika (true)
* 2. tworzenie roli (true)
* 3. przypisanie roli dla użytkownika (true)
* 4. sprawdzenie uprawnień użytkownika (false)
* 5. dodanie uprawnień do roli (true)
* 6. sprawdzenie uprawnień użytkownika (true)
* 7. zabranie roli dla użytkownika (true)
* 8. sprawdzenie uprawnień użytkownika (false)
* 9. usunięcie uprawnienia z roli (true)
* 10. usunięcie roli (true)
* 11. usunięcie użytkownika (true)
*
* na koniec przywrócić indeksy do możliwie najniższych wartości.
*
*/
/**
* Create Role
*
* @return void
*/
public function testCreateRole() {
$role = new Zizaco\Entrust\EntrustRole();
$role->name = 'TestRole';
$this->assertTrue((bool)$role->save());
}
/**
* Create Premission
*
* @return void
*/
public function testCreatePremission() {
$premission = new Zizaco\Entrust\EntrustPermission();
$premission->name = 'TestPremission';
$this->assertTrue((bool)$premission->save());
}
// TO DO: Other Unit Test
/**
* Delete Premission
*
* @return void
*/
public function testDeletePremission() {
$premission = Zizaco\Entrust\EntrustPermission::where('name', '=', 'TestPremission');
$this->assertTrue((bool)$premission->delete());
}
/**
* Delete Role
*
* @return void
*/
public function testDeleteRole() {
$role = Zizaco\Entrust\EntrustRole::where('name', '=', 'TestRole');
$this->assertTrue((bool)$role->delete());
}
}
Ten post edytował Rysh 7.09.2016, 15:19:24