My test
/** @test */
public function it_registers_new_user_using_api()
{
$this->withoutExceptionHandling();
//Given
$user = factory(User::class)->create()->toArray();
//When
$response = $this->postJson('/api/register', $user);
//Then
$response->assertStatus(201);
}
My factory
$factory->define(User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => 'yIXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
];
});
My controller
public function store(Request $request)
{
$this->validate($request, [
"name" => 'required',
"email" => 'email|required|unique:users,email',
"password" => 'required',
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => bcrypt($request->password),
]);
return response()->json([
"status" => "Success"
], 201);