Browse Source

Remove role model and table migration files and update auth lang file

pull/1/head
Nafies Luthfi 8 years ago
parent
commit
623470343f
  1. 16
      app/Entities/Projects/Project.php
  2. 18
      app/Entities/Users/Role.php
  3. 5
      app/Entities/Users/UsersRepository.php
  4. 66
      app/Http/Controllers/Users/PermissionsController.php
  5. 2
      app/Http/Controllers/Users/ProfileController.php
  6. 74
      app/Http/Controllers/Users/RolesController.php
  7. 142
      app/Http/Controllers/Users/UsersController.php
  8. 1
      app/Http/Kernel.php
  9. 33
      app/Http/Middleware/RoleMiddleware.php
  10. 1
      app/Http/Requests/Users/CreateRequest.php
  11. 32
      app/Http/Requests/Users/Roles/CreateRequest.php
  12. 31
      app/Http/Requests/Users/Roles/DeleteRequest.php
  13. 32
      app/Http/Requests/Users/Roles/UpdateRequest.php
  14. 1
      app/Providers/AuthServiceProvider.php
  15. 3
      database/factories/ModelFactory.php
  16. 33
      database/migrations/2015_08_12_205415_create_roles_permissions_table.php
  17. 31
      database/migrations/2016_03_04_020423_create_user_role_permission_table.php
  18. 31
      database/migrations/2016_03_05_083739_create_role_user_table.php
  19. 43
      resources/lang/id/auth.php
  20. 40
      resources/views/auth/profile.blade.php
  21. 7
      resources/views/layouts/partials/sidebar.blade.php
  22. 11
      resources/views/pages/home.blade.php
  23. 3
      resources/views/users/create.blade.php
  24. 10
      resources/views/users/edit.blade.php
  25. 31
      resources/views/users/profile/show.blade.php
  26. 2
      routes/web.php
  27. 5
      routes/web/users.php
  28. 11
      tests/Feature/Users/ManageUsersTest.php
  29. 6
      tests/Unit/Models/InvoiceTest.php

16
app/Entities/Projects/Project.php

@ -31,15 +31,13 @@ class Project extends Model
{
parent::boot();
if (auth()->user()) {
static::addGlobalScope('by_owner', function (Builder $builder) {
if ( ! is_null(auth()->user()->agency)) {
$builder->where('owner_id', auth()->user()->agency->id);
} else {
$builder->where('owner_id', 0);
}
});
}
static::addGlobalScope('by_owner', function (Builder $builder) {
if ( ! is_null(auth()->user()->agency)) {
$builder->where('owner_id', auth()->user()->agency->id);
} else {
$builder->where('owner_id', 0);
}
});
}
public function nameLink()

18
app/Entities/Users/Role.php

@ -1,18 +0,0 @@
<?php
namespace App\Entities\Users;
use Illuminate\Database\Eloquent\Model;
class Role extends Model
{
protected $table = 'roles_permissions';
protected $fillable = ['type','name','label'];
public $timestamps = false;
public function users()
{
return $this->belongsToMany(User::class, 'role_user');
}
}

5
app/Entities/Users/UsersRepository.php

@ -51,11 +51,6 @@ class UsersRepository extends BaseRepository
throw new UpdateUserException('Failed to update User');
}
public function getRolesList()
{
return Role::where('type', 0)->pluck('label', 'id')->all();
}
public function delete($userId)
{
$user = $this->requireById($userId);

66
app/Http/Controllers/Users/PermissionsController.php

@ -1,66 +0,0 @@
<?php
namespace App\Http\Controllers\Users;
use App\Entities\Users\Permission;
use App\Http\Controllers\Controller;
use App\Http\Requests\Users\Permissions\CreateRequest;
use App\Http\Requests\Users\Permissions\DeleteRequest;
use App\Http\Requests\Users\Permissions\UpdateRequest;
use Illuminate\Http\Request;
class PermissionsController extends Controller {
public function index(Request $req)
{
$permission = null;
if ($req->has('act') && in_array($req->get('act'), ['show','edit','del'])) {
$permission = $this->requireById($req->get('id'));
}
$permissions = Permission::whereType(1)->withCount('roles')->get();
return view('users.permissions',compact('permissions','permission'));
}
public function store(CreateRequest $req)
{
$permissionData = $req->except('_token');
$permissionData['type'] = 1; // Permission Type
$permission = Permission::create($permissionData);
flash()->success(trans('permission.created'));
return redirect()->route('permissions.index');
}
public function update(UpdateRequest $req, $permissionId)
{
$permission = $this->requireById($permissionId);
$permission->update($req->except(['_method','_token']));
flash()->success(trans('permission.updated'));
return redirect()->back();
}
public function delete($permissionId)
{
$permission = $this->requireById($permissionId);
return view('permissions.delete', compact('permission'));
}
public function destroy(DeleteRequest $req, $permissionId)
{
if ($permissionId == $req->get('permission_id'))
{
$this->requireById($permissionId)->delete();
flash()->success(trans('permission.deleted'));
}
else
flash()->error(trans('permission.undeleted'));
return redirect()->route('permissions.index');
}
private function requireById($permissionId)
{
return Permission::findOrFail($permissionId);
}
}

2
app/Http/Controllers/Users/ProfileController.php

@ -8,7 +8,7 @@ class ProfileController extends Controller
{
public function show()
{
return auth()->user();
return view('users.profile.show');
}
public function edit()

74
app/Http/Controllers/Users/RolesController.php

@ -1,74 +0,0 @@
<?php
namespace App\Http\Controllers\Users;
use App\Entities\Users\Role;
use App\Http\Controllers\Controller;
use App\Http\Requests\Users\Roles\CreateRequest;
use App\Http\Requests\Users\Roles\DeleteRequest;
use App\Http\Requests\Users\Roles\UpdateRequest;
use Illuminate\Http\Request;
class RolesController extends Controller {
public function index(Request $req)
{
// $role = null;
if ($req->has('act') && in_array($req->get('act'), ['show','edit','del'])) {
$role = $this->requireById($req->get('id'));
}
$roles = Role::whereType(0)->get();
return view('users.roles',compact('roles','role','permissions'));
}
public function store(CreateRequest $req)
{
$roleData = $req->except('_token');
$roleData['type'] = 0; // Role Type
$role = Role::create($roleData);
flash()->success(trans('role.created'));
return redirect()->route('roles.index');
}
public function update(UpdateRequest $req, $roleId)
{
$role = $this->requireById($roleId);
$role->update($req->except(['_method','_token']));
flash()->success(trans('role.updated'));
return redirect()->back();
}
public function destroy(DeleteRequest $req, $roleId)
{
if ($roleId == $req->get('role_id'))
{
$role = $this->requireById($roleId);
$role->permissions()->detach();
$role->delete();
flash()->success(trans('role.deleted'));
}
else
flash()->error(trans('role.undeleted'));
return redirect()->route('roles.index');
}
public function updatePermissions(Request $req, $roleId)
{
$role = $this->requireById($roleId);
if ($req->has('permission'))
$role->permissions()->sync($req->get('permission'));
else
$role->permissions()->detach();
flash()->success(trans('role.updated'));
return redirect()->back();
}
private function requireById($roleId)
{
return Role::findOrFail($roleId);
}
}

142
app/Http/Controllers/Users/UsersController.php

@ -2,81 +2,79 @@
namespace App\Http\Controllers\Users;
use App\Entities\Users\UsersRepository;
use App\Http\Controllers\Controller;
use App\Http\Requests\Users\CreateRequest;
use App\Http\Requests\Users\UpdateRequest;
use App\Http\Requests\Users\DeleteRequest;
use App\Http\Controllers\Controller;
use App\Entities\Users\UsersRepository;
use App\Http\Requests\Users\UpdateRequest;
use Illuminate\Http\Request;
class UsersController extends Controller {
private $repo;
public function __construct(UsersRepository $repo)
{
$this->repo = $repo;
}
public function index(Request $req)
{
$users = $this->repo->getUsers($req->get('q'), $req->get('role'));
return view('users.index',compact('users'));
}
public function create()
{
$roles = $this->repo->getRolesList();
return view('users.create', compact('roles'));
}
public function store(CreateRequest $req)
{
$userData = $req->except(['_token','password_confirmation']);
$user = $this->repo->create($userData);
flash()->success(trans('user.created'));
return redirect()->route('users.index');
}
public function show($userId)
{
$user = $this->repo->requireById($userId);
return view('users.show', compact('user'));
}
public function edit($userId)
{
$user = $this->repo->requireById($userId);
$roles = $this->repo->getRolesList();
return view('users.edit',compact('user','roles'));
}
public function update(UpdateRequest $req, $userId)
{
$userData = $req->except(['_method','_token','password_confirmation']);
$user = $this->repo->update($userData, $userId);
flash()->success(trans('user.updated'));
return redirect()->route('users.edit', $userId);
}
public function delete($userId)
{
$user = $this->repo->requireById($userId);
return view('users.delete', compact('user'));
}
public function destroy(DeleteRequest $req, $userId)
{
if ($userId == $req->get('user_id')) {
$this->repo->delete($userId);
flash()->success(trans('user.deleted'));
} else {
flash()->error(trans('user.undeleted'));
}
return redirect()->route('users.index');
}
class UsersController extends Controller
{
private $repo;
public function __construct(UsersRepository $repo)
{
$this->repo = $repo;
}
public function index(Request $req)
{
$users = $this->repo->getUsers($req->get('q'), $req->get('role'));
return view('users.index', compact('users'));
}
public function create()
{
return view('users.create');
}
public function store(CreateRequest $req)
{
$userData = $req->except(['_token', 'password_confirmation']);
$user = $this->repo->create($userData);
flash()->success(trans('user.created'));
return redirect()->route('users.index');
}
public function show($userId)
{
$user = $this->repo->requireById($userId);
return view('users.show', compact('user'));
}
public function edit($userId)
{
$user = $this->repo->requireById($userId);
return view('users.edit', compact('user'));
}
public function update(UpdateRequest $req, $userId)
{
$userData = $req->except(['_method', '_token', 'password_confirmation']);
$user = $this->repo->update($userData, $userId);
flash()->success(trans('user.updated'));
return redirect()->route('users.edit', $userId);
}
public function delete($userId)
{
$user = $this->repo->requireById($userId);
return view('users.delete', compact('user'));
}
public function destroy(DeleteRequest $req, $userId)
{
if ($userId == $req->get('user_id')) {
$this->repo->delete($userId);
flash()->success(trans('user.deleted'));
} else {
flash()->error(trans('user.undeleted'));
}
return redirect()->route('users.index');
}
}

1
app/Http/Kernel.php

@ -55,6 +55,5 @@ class Kernel extends HttpKernel
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'role' => \App\Http\Middleware\RoleMiddleware::class,
];
}

33
app/Http/Middleware/RoleMiddleware.php

@ -1,33 +0,0 @@
<?php
namespace App\Http\Middleware;
use Closure;
class RoleMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, $names)
{
$nameArray = explode('|', $names);
if (auth()->check() == false) {
return redirect()->guest('login');
}
// Cek apakah grup user ada di dalam array $nameArray?
if (auth()->user()->hasRoles($nameArray) == false)
{
flash()->error('Anda tidak dapat mengakses halaman ' . $request->path() . '.');
return redirect()->route('home');
}
return $next($request);
}
}

1
app/Http/Requests/Users/CreateRequest.php

@ -26,7 +26,6 @@ class CreateRequest extends Request
return [
'name' => 'required|min:5',
'email' => 'required|email|unique:users,email',
'role' => 'required|array',
'password' => 'between:6,15|confirmed',
'password_confirmation' => 'required_with:password',
];

32
app/Http/Requests/Users/Roles/CreateRequest.php

@ -1,32 +0,0 @@
<?php
namespace App\Http\Requests\Users\Roles;
use App\Http\Requests\Request;
class CreateRequest extends Request {
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return auth()->user()->can('manage_role_permissions');
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|max:60|unique:roles_permissions,name',
'label' => 'required|max:60',
];
}
}

31
app/Http/Requests/Users/Roles/DeleteRequest.php

@ -1,31 +0,0 @@
<?php
namespace App\Http\Requests\Users\Roles;
use App\Http\Requests\Request;
class DeleteRequest extends Request {
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return auth()->user()->can('manage_role_permissions');
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'role_id' => 'required'
];
}
}

32
app/Http/Requests/Users/Roles/UpdateRequest.php

@ -1,32 +0,0 @@
<?php
namespace App\Http\Requests\Users\Roles;
use App\Http\Requests\Request;
class UpdateRequest extends Request {
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return auth()->user()->can('manage_role_permissions');
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|max:60|unique:roles_permissions,name,' . $this->segment(2),
'label' => 'required|max:60',
];
}
}

1
app/Providers/AuthServiceProvider.php

@ -61,7 +61,6 @@ class AuthServiceProvider extends ServiceProvider
{
return [
'manage_users',
'manage_role_permissions',
'manage_backups',
'manage_options',
'manage_projects',

3
database/factories/ModelFactory.php

@ -94,12 +94,11 @@ $factory->define(Event::class, function (Faker\Generator $faker) {
});
$factory->define(Invoice::class, function (Faker\Generator $faker) {
$invoice = new Invoice;
return [
'project_id' => function () {
return factory(Project::class)->create()->id;
},
'number' => $invoice->generateNewNumber(),
'number' => (new Invoice)->generateNewNumber(),
'items' => [],
'amount' => 100000,
'notes' => $faker->paragraph,

33
database/migrations/2015_08_12_205415_create_roles_permissions_table.php

@ -1,33 +0,0 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateRolesPermissionsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('roles_permissions', function (Blueprint $table)
{
$table->increments('id');
$table->boolean('type')->unsigned()->index()->default(1);
$table->string('name', 60);
$table->string('label', 60);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('roles_permissions');
}
}

31
database/migrations/2016_03_04_020423_create_user_role_permission_table.php

@ -1,31 +0,0 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUserRolePermissionTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('user_role_permission', function (Blueprint $table)
{
$table->unsignedInteger('role_id');
$table->unsignedInteger('permission_id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('user_role_permission');
}
}

31
database/migrations/2016_03_05_083739_create_role_user_table.php

@ -1,31 +0,0 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateRoleUserTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('role_user', function (Blueprint $table)
{
$table->unsignedInteger('user_id')->index();
$table->unsignedInteger('role_id')->index();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('role_user');
}
}

43
resources/lang/id/auth.php

@ -1,39 +1,38 @@
<?php
return [
// Profile
'profile' => 'Profil Saya',
'profile_edit' => 'Edit Profil Saya',
'update_profile' => 'Update Profil',
'profile_updated' => 'Profil sudah diupdate.',
/*
|--------------------------------------------------------------------------
| Baris-baris bahasa untuk autentifikasi
|--------------------------------------------------------------------------
|
| Baris bahasa berikut digunakan selama proses autentifikasi untuk beberapa
| pesan yang perlu kita tampilkan ke pengguna. Anda bebas untuk memodifikasi
| baris bahasa sesuai dengan keperluan aplikasi anda.
|
*/
// Registration
'register' => 'Buat Akun Baru',
'need_account' => 'Belum punya Akun?',
'have_an_account' => 'Saya sudah punya Akun',
// Login & Logout
'login' => 'Login',
'welcome' => 'Selamat datang kembali :name.',
'failed' => 'Identitas tersebut tidak cocok dengan data kami.',
'throttle' => 'Terlalu banyak usaha masuk. Silahkan coba lagi dalam :seconds detik.',
'email' => 'Email',
'password' => 'Password',
'login' => 'Login',
'logout' => 'Keluar',
'register' => 'Buat Akun Baru',
'have_an_account' => 'Saya sudah punya Akun',
'need_account' => 'Belum punya Akun?',
'logged_out' => 'Anda telah logout.',
// Password
'change_password' => 'Ganti Password',
'password_changed' => 'Password berhasil diubah.',
'forgot_password' => 'Lupa Password?',
'reset_password' => 'Reset Password',
'send_reset_password_link' => 'Kirim Link Reset Password',
'old_password_failed' => 'Password lama tidak cocok!',
// Attributes
'email' => 'Email',
'password' => 'Password',
'password_confirmation' => 'Ulangi Password',
'old_password' => 'Password Lama',
'new_password' => 'Password Baru',
'new_password_confirmation' => 'Ulangi Password Baru',
'send_reset_password_link' => 'Kirim Link Reset Password',
'old_password_failed' => 'Password lama tidak cocok!',
'welcome' => 'Selamat datang kembali :name.',
'logged_out' => 'Anda telah logout.',
'profile' => 'Profil Saya',
'profile_updated' => 'Profil sudah diupdate.',
];

40
resources/views/auth/profile.blade.php

@ -1,40 +0,0 @@
@extends('layouts.app')
@section('content')
<ul class="breadcrumb hidden-print">
<li class="active">{{ trans('auth.profile') }}</li>
</ul>
<div class="row">
<div class="col-md-8 col-md-offset-2">
{!! Form::model($user, ['route'=>'auth.profile','method'=>'patch']) !!}
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">{{ trans('auth.profile') }}</h3></div>
<div class="panel-body">
<table class="table">
<tr><th>{{ trans('user.user_id') }}</th><td>{{ $user->id }}</td></tr>
<tr>
<th>{{ trans('user.name') }}</th>
<td>{!! FormField::text('name', ['label' => false]) !!}</td>
</tr>
<tr>
<th>{{ trans('user.email') }}</th>
<td>{!! FormField::email('email', ['label' => false]) !!}</td>
</tr>
<tr>
<th>{{ trans('user.api_token') }}</th>
<td>{{ $user->api_token }}</td>
</tr>
<tr>
<th>{{ trans('user.roles') }}</th>
<td>{{ $user->present()->displayRoles }}</td>
</tr>
</table>
</div>
<div class="panel-footer">
{!! Form::submit(trans('app.update'), ['class'=>'btn btn-info']) !!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

7
resources/views/layouts/partials/sidebar.blade.php

@ -20,8 +20,8 @@
<?php $projectsCount = App\Entities\Projects\Project::select(DB::raw('status_id, count(id) as count'))
->groupBy('status_id')
->where('owner_id', auth()->id())
->pluck('count','status_id')
->all(); ?>
->pluck('count', 'status_id')
->all();?>
{!! html_link_to_route('projects.index', trans('project.projects') . ' <span class="fa arrow"></span>', [], ['icon' => 'table']) !!}
<ul class="nav nav-second-level">
@foreach(getProjectStatusesList() as $key => $status)
@ -67,9 +67,6 @@
<a href="{{ route('users.index') }}"><i class="fa fa-users fa-fw"></i> {{ trans('user.users') }} <span class="fa arrow"></span></a>
<ul class="nav nav-second-level">
<li><a href="{{ route('users.index') }}"><i class="fa fa-users fa-fw"></i> {{ trans('user.users') }}</a></li>
@can('manage_role_permissions')
<li><a href="{{ route('roles.index') }}"><i class="fa fa-gears fa-fw"></i> {{ trans('role.roles') }}</a></li>
@endcan
</ul>
</li>
@endcan

11
resources/views/pages/home.blade.php

@ -1,11 +1,8 @@
@extends('layouts.app')
@section('content')
<ul class="breadcrumb hidden-print">
<li class="active">Dashboard</li>
</ul>
<div class="well well-sm">
<div class="well well-sm" style="margin-top: 15px;">
{!! Form::open(['route' => 'projects.index','method'=>'get','class'=>'form-inline']) !!}
{!! Form::text('q', Request::get('q'), [
'class' => 'form-control index-search-field',
@ -13,6 +10,10 @@
'style' => 'width:100%;max-width:350px'
]) !!}
{!! Form::submit(trans('project.search'), ['class' => 'btn btn-info btn-sm']) !!}
{{ link_to_route('projects.create', trans('project.create'), [], [
'class' => 'btn btn-success pull-right',
'style' => 'margin: -2px 0px;'
]) }}
{!! Form::close() !!}
</div>
@ -126,4 +127,4 @@
</a>
</div>
</div>
@endsection
@endsection

3
resources/views/users/create.blade.php

@ -12,7 +12,6 @@
<div class="panel-body">
{!! FormField::text('name', ['label' => trans('app.name')]) !!}
{!! FormField::email('email', ['label' => trans('user.email')]) !!}
{!! FormField::checkboxes('role', $roles, ['label' => trans('user.role')]) !!}
{!! FormField::password('password', [
'label' => trans('auth.password'),
@ -35,4 +34,4 @@
</div>
</div>
@endsection
@endsection

10
resources/views/users/edit.blade.php

@ -27,14 +27,6 @@
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">{{ trans('user.roles') }}</h3></div>
<div class="panel-body">
{!! FormField::checkboxes('role', $roles, ['label' => false, 'value' => $user->roles]) !!}
</div>
</div>
</div>
</div>
<div class="panel-footer">
{!! Form::submit(trans('user.update'), ['class'=>'btn btn-warning']) !!}
@ -43,4 +35,4 @@
{!! link_to_route('users.delete', trans('app.delete'), [$user->id], ['class'=>'btn btn-danger pull-right']) !!}
</div>
{!! Form::close() !!}
@endsection
@endsection

31
resources/views/users/profile/show.blade.php

@ -0,0 +1,31 @@
@extends('layouts.app')
@section('content')
<ul class="breadcrumb hidden-print">
<li class="active">{{ trans('auth.profile') }}</li>
</ul>
<div class="row">
<div class="col-md-7">
<div class="panel panel-default">
<table class="table">
<tr><th>{{ trans('user.user_id') }}</th><td>{{ auth()->user()->id }}</td></tr>
<tr>
<th>{{ trans('user.name') }}</th>
<td>{{ auth()->user()->name }}</td>
</tr>
<tr>
<th>{{ trans('user.email') }}</th>
<td>{{ auth()->user()->email }}</td>
</tr>
<tr>
<th>{{ trans('user.api_token') }}</th>
<td><code>{{ auth()->user()->api_token }}</code></td>
</tr>
</table>
<div class="panel-footer">
{{ link_to_route('users.profile.edit', trans('auth.profile_edit'), [], ['class' => 'btn btn-info']) }}
</div>
</div>
</div>
</div>
@endsection

2
routes/web.php

@ -12,7 +12,7 @@ require __DIR__.'/web/invoices.php';
require __DIR__.'/web/options-vue.php';
require __DIR__.'/web/calendar.php';
Route::group(['middleware' => ['web', 'role:admin']], function () {
Route::group(['middleware' => ['web', 'auth']], function () {
/*
* Backup Restore Database Routes
*/

5
routes/web/users.php

@ -6,9 +6,4 @@ Route::group(['middleware' => ['web', 'auth'], 'namespace' => 'Users'], function
*/
Route::get('users/{id}/delete', ['as' => 'users.delete', 'uses' => 'UsersController@delete']);
Route::resource('users', 'UsersController');
/**
* Roles Routes
*/
Route::resource('roles', 'RolesController');
});

11
tests/Feature/Users/ManageUsersTest.php

@ -7,16 +7,6 @@ use Tests\TestCase;
class ManageUsersTest extends TestCase
{
public function setUp()
{
parent::setUp();
\DB::table('roles_permissions')->insert([
['type' => 0, 'name' => 'admin', 'label' => 'Admin'],
['type' => 0, 'name' => 'worker', 'label' => 'Worker'],
]);
}
/** @test */
public function admin_can_insert_new_user()
{
@ -30,7 +20,6 @@ class ManageUsersTest extends TestCase
'email' => 'user@mail.com',
'password' => 'password',
'password_confirmation' => 'password',
'role' => [1, 2],
]);
$this->seePageIs(route('users.index'));

6
tests/Unit/Models/InvoiceTest.php

@ -11,8 +11,12 @@ class InvoiceTest extends TestCase
/** @test */
public function it_has_project_relation()
{
$invoice = factory(Invoice::class)->create();
$user = $this->adminUserSigningIn();
$project = factory(Project::class)->create(['owner_id' => $user->agency->id]);
$invoice = factory(Invoice::class)->create(['project_id' => $project->id]);
$this->assertTrue($invoice->project instanceof Project);
$this->assertEquals($invoice->project->id, $project->id);
}
/** @test */

Loading…
Cancel
Save