From bd41b2a1e407c890a77d8da5770eda49ccf52101 Mon Sep 17 00:00:00 2001 From: CatalinVoineag <11318084+CatalinVoineag@users.noreply.github.com> Date: Wed, 22 Jan 2025 16:24:35 +0000 Subject: [PATCH] Improve styling and specs for support api token index page --- .../api_tokens/index.html.erb | 4 +- .../api_tokens/view_tokens_spec.rb | 40 +++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 spec/system/support_interface/api_tokens/view_tokens_spec.rb diff --git a/app/views/support_interface/api_tokens/index.html.erb b/app/views/support_interface/api_tokens/index.html.erb index cce10ce4f59..37744a5246c 100644 --- a/app/views/support_interface/api_tokens/index.html.erb +++ b/app/views/support_interface/api_tokens/index.html.erb @@ -3,7 +3,7 @@ <%= govuk_button_link_to 'Add a token', new_support_interface_api_token_path %>
-
+
<%= render SupportInterface::TileComponent.new( count: @api_tokens.count, label: 'API tokens issued', @@ -11,7 +11,7 @@ href: '#not-connected', ) %>
-
+
<%= render SupportInterface::TileComponent.new( count: @api_tokens_last_3_months_count, label: 'API tokens used in the last 3 months', diff --git a/spec/system/support_interface/api_tokens/view_tokens_spec.rb b/spec/system/support_interface/api_tokens/view_tokens_spec.rb new file mode 100644 index 00000000000..acd381a3381 --- /dev/null +++ b/spec/system/support_interface/api_tokens/view_tokens_spec.rb @@ -0,0 +1,40 @@ +require 'rails_helper' + +RSpec.describe 'API tokens' do + include DfESignInHelpers + + scenario 'Support views vendors with api tokens' do + given_i_am_signed_in + and_api_tokens_exist + when_i_visit_the_tokens_page + then_i_see_all_the_providers_with_api_tokens + end + + def given_i_am_signed_in + sign_in_as_support_user + end + + def and_api_tokens_exist + vendor = create(:vendor, name: 'vendor_1') + provider_1 = create(:provider, name: 'Provider 1', vendor:) + provider_2 = create(:provider, name: 'Provider 2', vendor:) + + create(:vendor_api_token, provider: provider_1, last_used_at: 1.month.ago) + create(:vendor_api_token, provider: provider_2) + end + + def when_i_visit_the_tokens_page + visit support_interface_api_tokens_path + end + + def then_i_see_all_the_providers_with_api_tokens + expect(page).to have_content '2 API tokens issued' + expect(page).to have_content '1 API tokens used in the last 3 months' + + within '.govuk-table' do + expect(page).to have_content 'Provider 1' + expect(page).to have_content 'Provider 2' + expect(page).to have_content 'vendor_1' + end + end +end