Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .env.testing
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=olm
DB_USERNAME=homestead
DB_DATABASE=olm_test
DB_USERNAME=root
DB_PASSWORD=secret

# For Testing
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/laravel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
APP_ENV: testing
DB_DATABASE: olm_test
DB_USERNAME: root
DB_PASSWORD: password
DB_PASSWORD: secret
BROADCAST_DRIVER: log
CACHE_DRIVER: array
QUEUE_CONNECTION: sync
Expand All @@ -35,7 +35,8 @@ jobs:
image: mysql:5.7
env:
MYSQL_ALLOW_EMPTY_PASSWORD: false
MYSQL_ROOT_PASSWORD: password
MYSQL_ROOT_PASSWORD: secret
MYSQL_ROOT_HOST: '%'
MYSQL_DATABASE: olm_test
ports:
- 3306/tcp
Expand Down
2 changes: 1 addition & 1 deletion app/Http/Controllers/Auth/RegisterController.php
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public function register (Request $request): array
'name' => 'required|min:3|max:25',
'username' => 'required|min:3|max:20|unique:users|different:password',
'email' => 'required|email|max:75|unique:users',
'password' => ['required', Password::min(8)->mixedCase()->numbers()->symbols()->uncompromised()]
'password' => ['required', Password::min(5)]
// 'g-recaptcha-response' => 'required|captcha'
]);

Expand Down
2 changes: 1 addition & 1 deletion app/Http/Controllers/UsersController.php
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public function changePassword (Request $request)
{
$this->validate($request, [
'oldpassword' => 'required',
'password' => 'required|confirmed|min:6|case_diff|numbers|letters|symbols'
'password' => 'required|confirmed|min:5'
]);

$user = Auth::user();
Expand Down
86 changes: 43 additions & 43 deletions tests/Feature/Signup/CreateNewUserTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,54 +12,54 @@ public function test_a_user_can_create_an_account ()
'name' => 'John Doe',
'username' => 'username_' . time(),
'email' => 'test_' . time() . '@example.com',
'password' => 'ReallyStrongPassword123!',
'password' => 'password!',
'password_confirmation' => 'password',
]);

$this->assertEquals(200, $response->getStatusCode());
}

public static function passwordProvider (): array
{
return [
'missing_uppercase' => [
'password' => 'lowercase1#',
'error' => 'The password must contain at least one uppercase and one lowercase letter.'
],
'missing_lowercase' => [
'password' => 'UPPERCASE1#',
'error' => 'The password must contain at least one uppercase and one lowercase letter.'
],
'missing_numbers' => [
'password' => 'UpperLower#',
'error' => 'The password must contain at least one number.'
],
'missing_symbols' => [
'password' => 'UpperLower1',
'error' => 'The password must contain at least one special character.'
],
];
}

/**
* @dataProvider passwordProvider
*/
public function test_a_user_cannot_create_an_account_with_invalid_password ($password, $error)
{
$response = $this->withoutMiddleware()->post('/register', [
'name' => 'John Doe',
'username' => 'username_' . time(),
'email' => 'test_' . time() . '@example.com',
'password' => $password,
'password_confirmation' => 'password',
]);

$this->assertEquals(302, $response->getStatusCode());
// public static function passwordProvider (): array
// {
// return [
// 'missing_uppercase' => [
// 'password' => 'lowercase1#',
// 'error' => 'The password must contain at least one uppercase and one lowercase letter.'
// ],
// 'missing_lowercase' => [
// 'password' => 'UPPERCASE1#',
// 'error' => 'The password must contain at least one uppercase and one lowercase letter.'
// ],
// 'missing_numbers' => [
// 'password' => 'UpperLower#',
// 'error' => 'The password must contain at least one number.'
// ],
// 'missing_symbols' => [
// 'password' => 'UpperLower1',
// 'error' => 'The password must contain at least one special character.'
// ],
// ];
// }

$errors = $response->getSession()->get('errors')->toArray();

$this->assertArrayHasKey('password', $errors);

$this->assertTrue(in_array($error, $errors['password']));
}
// /**
// * @dataProvider passwordProvider
// */
// public function test_a_user_cannot_create_an_account_with_invalid_password ($password, $error)
// {
// $response = $this->withoutMiddleware()->post('/register', [
// 'name' => 'John Doe',
// 'username' => 'username_' . time(),
// 'email' => 'test_' . time() . '@example.com',
// 'password' => $password,
// 'password_confirmation' => 'password',
// ]);
//
// $this->assertEquals(302, $response->getStatusCode());
//
// $errors = $response->getSession()->get('errors')->toArray();
//
// $this->assertArrayHasKey('password', $errors);
//
// $this->assertTrue(in_array($error, $errors['password']));
// }
}
Loading