Skip to content

Commit a9b6a34

Browse files
committed
fix(FOUR-33134): use dynamic password requirements on change password page
Replace hardcoded password validation messages on /password/change with the shared auth.partials.password-requirements partial so requirements reflect Log-in options settings (minimum/maximum length, uppercase, numbers, special characters), consistent with the reset password page. Add feature test to verify the change password form displays configured password policy requirements. https://processmaker.atlassian.net/browse/FOUR-33134
1 parent 520e403 commit a9b6a34

2 files changed

Lines changed: 29 additions & 7 deletions

File tree

resources/views/auth/passwords/change.blade.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,7 @@
1616
<div class="auth-card-header">
1717
<h1 class="auth-card-title">{{ __('Please change your account password') }}</h1>
1818
</div>
19-
<div class="alert alert-primary mb-3">{{ __('Password Requirements') }}:
20-
<ul class="mb-0">
21-
<li>{{ __('Minimum of 8 characters in length') }}</li>
22-
<li>{{ __('Contains an uppercase letter') }}</li>
23-
<li>{{ __('Contains a number or symbol') }}</li>
24-
</ul>
25-
</div>
19+
@include('auth.partials.password-requirements')
2620
@if (session()->has('timeout'))
2721
<div class="alert alert-danger mb-3">{{ __("Your account has been timed out for security.") }}</div>
2822
@endif
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace Tests\Feature\Auth;
4+
5+
use Illuminate\Support\Facades\Auth;
6+
use ProcessMaker\Models\User;
7+
use Tests\TestCase;
8+
9+
class ChangePasswordTest extends TestCase
10+
{
11+
public function testShowChangeFormDisplaysPasswordRequirements(): void
12+
{
13+
config(['password-policies.minimum_length' => 10]);
14+
15+
$user = User::factory()->create([
16+
'force_change_password' => 1,
17+
]);
18+
19+
Auth::login($user);
20+
21+
$response = $this->get(route('password.change'));
22+
23+
$response->assertOk();
24+
$response->assertViewIs('auth.passwords.change');
25+
$response->assertSee(__('Password Requirements'), false);
26+
$response->assertSee(__('Minimum of :length characters in length', ['length' => 10]), false);
27+
}
28+
}

0 commit comments

Comments
 (0)