Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[594] Surface whether candidate has a one login account on support #10295

Merged
Show file tree
Hide file tree
Changes from 1 commit
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
12 changes: 12 additions & 0 deletions app/components/support_interface/application_summary_component.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ def rows
subsequent_application_row,
average_distance_row,
editable_extension_row,
one_login_account_row,
].compact
end

Expand Down Expand Up @@ -85,6 +86,13 @@ def candidate_id_row
}
end

def one_login_account_row
{
key: 'Has One Login account',
value: one_login? ? 'Yes' : 'No',
}
end

def state_row
{
key: 'State',
Expand Down Expand Up @@ -140,6 +148,10 @@ def formatted_status
"<strong>#{name}</strong><br>#{desc}".html_safe
end

def one_login?
application_form.candidate.one_login_auth.present?
avinhurry marked this conversation as resolved.
Show resolved Hide resolved
end

attr_reader :application_form
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,53 @@
expect(result.css('.govuk-summary-list__key').text).not_to include('Is this application editable')
end
end

context 'when the candidate has a OneLogin account' do
it 'displays "Yes" for the One Login account row' do
candidate = create(:candidate)
candidate.create_one_login_auth!(
token: '123',
email_address: candidate.email_address,
)
application_form = create(:completed_application_form, candidate:)

result = render_inline(described_class.new(application_form:))

expect(result.css('.govuk-summary-list__key').text).to include('Has One Login account')
expect(result.css('.govuk-summary-list__value').text).to include('Yes')
end
end

context 'when the candidate does not have a OneLogin account' do
it 'displays "No" for the One Login account row' do
candidate = create(:candidate)
application_form = create(:completed_application_form, candidate:)

result = render_inline(described_class.new(application_form:))

expect(result.css('.govuk-summary-list__key').text).to include('Has One Login account')
expect(result.css('.govuk-summary-list__value').text).to include('No')
end
end

context 'when the candidate had a OneLogin account but it was deleted' do
it 'displays "No" for the One Login account row' do
candidate = create(:candidate)
one_login_auth = candidate.create_one_login_auth!(
token: '123',
email_address: candidate.email_address,
)

one_login_auth.delete
candidate.reload

application_form = create(:completed_application_form, candidate:)

result = render_inline(described_class.new(application_form:))

expect(result.css('.govuk-summary-list__key').text).to include('Has One Login account')
expect(result.css('.govuk-summary-list__value').text).to include('No')
end
end
end
end
Loading