diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index ecfc4151..9f560fc1 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Auth; use App\User; use App\Role; +use App\Marking; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Validator; @@ -58,6 +59,11 @@ class RegisterController extends Controller */ protected function create(array $data) { + $marking = Marking::Where('email',$data['email'])->first(); + if($marking->marking = $data['marking']){ + redirect('/'); + } + $role = Role::where('name','=','member')->first(); $user = new User(); $user->name = $data['name']; diff --git a/database/factories/MarkingFactory.php b/database/factories/MarkingFactory.php new file mode 100644 index 00000000..989fcf07 --- /dev/null +++ b/database/factories/MarkingFactory.php @@ -0,0 +1,10 @@ +define(App\Marking::class, function (Faker $faker) { + return [ + 'email' => $faker->unique()->safeEmail, + 'marking' => str_random(10) + ]; +}); diff --git a/tests/Feature/RegisterTest.php b/tests/Feature/RegisterTest.php index 9861c9e0..5364b185 100644 --- a/tests/Feature/RegisterTest.php +++ b/tests/Feature/RegisterTest.php @@ -3,17 +3,31 @@ namespace Tests\Feature; use Tests\TestCase; +use App\Marking; +use Artisan; class RegisterTest extends TestCase { + protected $marking; + + public function setUp(){ + parent::setUp(); + Artisan::call('db:seed'); + + $this->marking = factory(Marking::class)->create(); + } + + /** @test */ public function can_register() { + $response = $this->postJson('/api/register', [ 'name' => 'Test User', - 'email' => 'test@test.app', + 'email' => $this->marking->email, 'password' => 'secret', 'password_confirmation' => 'secret', + 'marking' => $this->marking->marking ]) ->assertSuccessful() ->assertJsonStructure(['id', 'name', 'email']);