2021-08-31 18:14:32 +02:00
|
|
|
describe PasswordComplexityController, type: :controller do
|
|
|
|
describe '#show' do
|
|
|
|
let(:params) do
|
|
|
|
{ user: { password: 'moderately complex password' } }
|
|
|
|
end
|
|
|
|
|
2022-05-04 12:41:39 +02:00
|
|
|
subject { get :show, format: :turbo_stream, params: params }
|
2021-08-31 18:14:32 +02:00
|
|
|
|
|
|
|
it 'computes a password score' do
|
|
|
|
subject
|
|
|
|
expect(assigns(:score)).to eq(3)
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'with a different resource name' do
|
|
|
|
let(:params) do
|
|
|
|
{ super_admin: { password: 'moderately complex password' } }
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'computes a password score' do
|
|
|
|
subject
|
|
|
|
expect(assigns(:score)).to eq(3)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'when rendering the view' do
|
|
|
|
render_views
|
|
|
|
|
|
|
|
it 'renders Javascript that updates the password complexity meter' do
|
|
|
|
subject
|
2022-05-04 12:41:39 +02:00
|
|
|
expect(response.body).to include('complexity-label')
|
|
|
|
expect(response.body).to include('complexity-bar')
|
2021-08-31 18:14:32 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|