Browse Source

Add admin and worker to registered user and agency

Move InstallationTest case class outside Auth namespace
pull/1/head
Nafies Luthfi 8 years ago
parent
commit
b27f5579fc
  1. 23
      app/Http/Controllers/InstallationController.php
  2. 7
      tests/Feature/InstallationTest.php

23
app/Http/Controllers/InstallationController.php

@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Entities\Users\User; use App\Entities\Users\User;
use App\Http\Requests\Accounts\RegisterRequest; use App\Http\Requests\Accounts\RegisterRequest;
use Auth; use Auth;
use DB;
/** /**
* Installation Controller * Installation Controller
@ -28,14 +29,6 @@ class InstallationController extends Controller
public function postRegister(RegisterRequest $request) public function postRegister(RegisterRequest $request)
{ {
$adminData = $request->only('name', 'email', 'password');
$adminData['api_token'] = str_random(32);
$admin = User::create($adminData);
Auth::login($admin);
$agencyData = collect($request->only('agency_name', 'agency_website', 'email')) $agencyData = collect($request->only('agency_name', 'agency_website', 'email'))
->map(function ($value, $key) { ->map(function ($value, $key) {
return [ return [
@ -44,7 +37,19 @@ class InstallationController extends Controller
]; ];
})->toArray(); })->toArray();
\DB::table('site_options')->insert($agencyData);
DB::beginTransaction();
DB::table('site_options')->insert($agencyData);
$adminData = $request->only('name', 'email', 'password');
$adminData['api_token'] = str_random(32);
$admin = User::create($adminData);
$admin->assignRole('admin');
$admin->assignRole('worker');
Auth::login($admin);
DB::commit();
flash()->success(trans('auth.welcome', ['name' => $admin->name])); flash()->success(trans('auth.welcome', ['name' => $admin->name]));
return redirect()->route('home'); return redirect()->route('home');

7
tests/Feature/Auth/InstallationTest.php → tests/Feature/InstallationTest.php

@ -1,6 +1,6 @@
<?php <?php
namespace Tests\Feature\Auth;
namespace Tests\Feature;
use App\Entities\Users\User; use App\Entities\Users\User;
use Tests\TestCase; use Tests\TestCase;
@ -56,6 +56,11 @@ class InstallationTest extends TestCase
$this->see(trans('auth.welcome', ['name' => 'Nama Admin'])); $this->see(trans('auth.welcome', ['name' => 'Nama Admin']));
$newAdmin = User::where('email', 'email@mail.com')->first();
$this->assertEquals('Nama Admin', $newAdmin->name);
$this->assertTrue($newAdmin->hasRole('admin'));
$this->assertTrue($newAdmin->hasRole('worker'));
$this->seeInDatabase('users', [ $this->seeInDatabase('users', [
'name' => 'Nama Admin', 'name' => 'Nama Admin',
'email' => 'email@mail.com', 'email' => 'email@mail.com',
Loading…
Cancel
Save