From ab5d3947e61fec2d9af29c56158fc76452c88ef3 Mon Sep 17 00:00:00 2001 From: Andrew Herzberg Date: Wed, 23 Oct 2024 12:01:54 -0700 Subject: [PATCH 01/17] efolder fix --- Gemfile.lock | 16 ------- .../app/models/mobile/v0/adapters/efolder.rb | 8 ++-- .../spec/requests/mobile/v0/efolder_spec.rb | 17 ++++--- spec/requests/v0/efolder_spec.rb | 18 +++++-- spec/support/stub_efolder_documents.rb | 47 ++++++++++++------- 5 files changed, 59 insertions(+), 47 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b4fd443f15f..ea54de671f9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,18 +135,6 @@ PATH veteran_confirmation (0.0.1) vye (0.1.0) -GEM - remote: https://enterprise.contribsys.com/ - specs: - sidekiq-ent (7.2.4) - einhorn (~> 1.0) - gserver - sidekiq (>= 7.2.0, < 8) - sidekiq-pro (>= 7.2.0, < 8) - sidekiq-pro (7.2.1) - base64 - sidekiq (>= 7.2.0, < 8) - GEM remote: https://rubygems.org/ specs: @@ -418,7 +406,6 @@ GEM dry-initializer (~> 3.0) dry-schema (>= 1.12, < 2) zeitwerk (~> 2.6) - einhorn (1.0.0) erubi (1.13.0) et-orbi (1.2.11) tzinfo @@ -540,7 +527,6 @@ GEM multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) - gserver (0.0.1) guard (2.18.1) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) @@ -1294,8 +1280,6 @@ DEPENDENCIES shoulda-matchers shrine sidekiq (~> 7.2.0) - sidekiq-ent! - sidekiq-pro! sign_in_service simple_forms_api! simplecov diff --git a/modules/mobile/app/models/mobile/v0/adapters/efolder.rb b/modules/mobile/app/models/mobile/v0/adapters/efolder.rb index 9ab43e943df..375c74e909b 100644 --- a/modules/mobile/app/models/mobile/v0/adapters/efolder.rb +++ b/modules/mobile/app/models/mobile/v0/adapters/efolder.rb @@ -7,10 +7,10 @@ class Efolder def self.parse(documents) documents.map do |document| Mobile::V0::Efolder.new( - id: document['document_id'], - doc_type: document['doc_type'], - type_description: document['type_description'], - received_at: document['received_at'] + id: document[:document_id], + doc_type: document[:doc_type], + type_description: document[:type_description], + received_at: document[:received_at] ) end end diff --git a/modules/mobile/spec/requests/mobile/v0/efolder_spec.rb b/modules/mobile/spec/requests/mobile/v0/efolder_spec.rb index 97b7bcfc688..ae354133955 100644 --- a/modules/mobile/spec/requests/mobile/v0/efolder_spec.rb +++ b/modules/mobile/spec/requests/mobile/v0/efolder_spec.rb @@ -10,13 +10,18 @@ let!(:user) { sis_user } context 'with working upstream service' do - stub_efolder_documents(:index) + stub_efolder_index_documents let!(:efolder_response) do - { 'data' => [{ 'id' => '{93631483-E9F9-44AA-BB55-3552376400D8}', 'type' => 'efolder_document', - 'attributes' => { 'docType' => '1215', - 'typeDescription' => 'DMC - Debt Increase Letter', - 'receivedAt' => '2020-05-28' } }] } + { 'data' => [{ 'id' => '{73CD7B28-F695-4337-BBC1-2443A913ACF6}', 'type' => 'efolder_document', + 'attributes' => { 'docType' => '702', + 'typeDescription' => + 'Disability Benefits Questionnaire (DBQ) - Veteran Provided', + 'receivedAt' => '2024-09-13' } }, + { 'id' => '{EF7BF420-7E49-4FA9-B14C-CE5F6225F615}', 'type' => 'efolder_document', + 'attributes' => { 'docType' => '45', + 'typeDescription' => 'Military Personnel Record', + 'receivedAt' => '2024-09-13' } }] } end it 'and a result that matches our schema is successfully returned with the 200 status' do @@ -48,7 +53,7 @@ let!(:user) { sis_user } context 'with working upstream service' do - stub_efolder_documents(:show) + stub_efolder_show_document it 'returns expected document' do post "/mobile/v0/efolder/documents/#{CGI.escape(document_id)}/download", params: { file_name: 'test' }, headers: sis_headers diff --git a/spec/requests/v0/efolder_spec.rb b/spec/requests/v0/efolder_spec.rb index a5e1b00e03c..0ea02204cb6 100644 --- a/spec/requests/v0/efolder_spec.rb +++ b/spec/requests/v0/efolder_spec.rb @@ -11,16 +11,28 @@ end describe 'GET /v0/efolder' do - stub_efolder_documents(:index) + stub_efolder_index_documents + let(:expected_response) do + [ + { 'document_id' => '{73CD7B28-F695-4337-BBC1-2443A913ACF6}', + 'doc_type' => '702', + 'type_description' => 'Disability Benefits Questionnaire (DBQ) - Veteran Provided', + 'received_at' => '2024-09-13' }, + { 'document_id' => '{EF7BF420-7E49-4FA9-B14C-CE5F6225F615}', + 'doc_type' => '45', + 'type_description' => 'Military Personnel Record', + 'received_at' => '2024-09-13' } + ] + end it 'shows all documents available to the veteran' do get '/v0/efolder' - expect(JSON.parse(response.body)).to eq(list_documents_res) + expect(JSON.parse(response.body)).to eq(expected_response) end end describe 'GET /v0/efolder/{id}' do - stub_efolder_documents(:show) + stub_efolder_show_document it 'sends the doc pdf' do get "/v0/efolder/#{CGI.escape(document_id)}", params: { filename: 'test.pdf' } diff --git a/spec/support/stub_efolder_documents.rb b/spec/support/stub_efolder_documents.rb index 414d916c0ee..25fc9c19427 100644 --- a/spec/support/stub_efolder_documents.rb +++ b/spec/support/stub_efolder_documents.rb @@ -2,27 +2,38 @@ require 'efolder/service' -def stub_efolder_documents(method) - let!(:efolder_service) do - efolder_service = double - expect(Efolder::Service).to receive(:new).and_return(efolder_service) - efolder_service +def stub_efolder_index_documents + let(:list_documents_res) do + [{ document_id: '{73CD7B28-F695-4337-BBC1-2443A913ACF6}', + doc_type: '702', + type_description: 'Disability Benefits Questionnaire (DBQ) - Veteran Provided', + received_at: Date.new(2024, 9, 13) }, + { document_id: '{EF7BF420-7E49-4FA9-B14C-CE5F6225F615}', + doc_type: '45', + type_description: 'Military Personnel Record', + received_at: Date.new(2024, 9, 13) }] end - if method == :show - let(:document_id) { '{93631483-E9F9-44AA-BB55-3552376400D8}' } - let(:content) { File.read('spec/fixtures/files/error_message.txt') } + before do + expect(efolder_service).to receive(:list_documents).and_return( + list_documents_res + ) + end +end - before do - expect(efolder_service).to receive(:get_document).with(document_id).and_return(content) - end - else - let(:list_documents_res) { get_fixture('vbms/list_documents') } +def stub_efolder_show_document + let(:document_id) { '{93631483-E9F9-44AA-BB55-3552376400D8}' } + let(:content) { File.read('spec/fixtures/files/error_message.txt') } - before do - expect(efolder_service).to receive(:list_documents).and_return( - list_documents_res - ) - end + before do + expect(efolder_service).to receive(:get_document).with(document_id).and_return(content) end end + +private + +def efolder_service + efolder_service = double + expect(Efolder::Service).to receive(:new).and_return(efolder_service) + efolder_service +end From c0f366ccb4fb63f27083cfc6c95d7ca06cf22f55 Mon Sep 17 00:00:00 2001 From: Andrew Herzberg Date: Wed, 23 Oct 2024 12:04:07 -0700 Subject: [PATCH 02/17] efolder fix --- Gemfile.lock | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ea54de671f9..221a2383c5d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,6 +135,18 @@ PATH veteran_confirmation (0.0.1) vye (0.1.0) +GEM + remote: https://enterprise.contribsys.com/ + specs: + sidekiq-ent (7.2.4) + einhorn (~> 1.0) + gserver + sidekiq (>= 7.2.0, < 8) + sidekiq-pro (>= 7.2.0, < 8) + sidekiq-pro (7.2.1) + base64 + sidekiq (>= 7.2.0, < 8) + GEM remote: https://rubygems.org/ specs: @@ -406,6 +418,7 @@ GEM dry-initializer (~> 3.0) dry-schema (>= 1.12, < 2) zeitwerk (~> 2.6) + einhorn (1.0.0) erubi (1.13.0) et-orbi (1.2.11) tzinfo @@ -527,6 +540,7 @@ GEM multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) + gserver (0.0.1) guard (2.18.1) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) @@ -880,7 +894,7 @@ GEM rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.2) + rspec-core (3.13.1) rspec-support (~> 3.13.0) rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) @@ -888,7 +902,7 @@ GEM rspec-instrumentation-matcher (0.0.9) activesupport rspec-expectations - rspec-its (1.3.1) + rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) rspec-mocks (3.13.2) @@ -1021,7 +1035,7 @@ GEM ffi ssrf_filter (1.1.2) staccato (0.5.3) - statsd-instrument (3.9.3) + statsd-instrument (3.9.2) stringio (3.1.1) strong_migrations (2.0.1) activerecord (>= 6.1) @@ -1280,6 +1294,8 @@ DEPENDENCIES shoulda-matchers shrine sidekiq (~> 7.2.0) + sidekiq-ent! + sidekiq-pro! sign_in_service simple_forms_api! simplecov From 967c05667df35849c88014bb04fae4e550c18f8c Mon Sep 17 00:00:00 2001 From: Andrew Herzberg Date: Wed, 23 Oct 2024 12:05:19 -0700 Subject: [PATCH 03/17] efolder fix --- Gemfile.lock | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 221a2383c5d..ea54de671f9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,18 +135,6 @@ PATH veteran_confirmation (0.0.1) vye (0.1.0) -GEM - remote: https://enterprise.contribsys.com/ - specs: - sidekiq-ent (7.2.4) - einhorn (~> 1.0) - gserver - sidekiq (>= 7.2.0, < 8) - sidekiq-pro (>= 7.2.0, < 8) - sidekiq-pro (7.2.1) - base64 - sidekiq (>= 7.2.0, < 8) - GEM remote: https://rubygems.org/ specs: @@ -418,7 +406,6 @@ GEM dry-initializer (~> 3.0) dry-schema (>= 1.12, < 2) zeitwerk (~> 2.6) - einhorn (1.0.0) erubi (1.13.0) et-orbi (1.2.11) tzinfo @@ -540,7 +527,6 @@ GEM multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) - gserver (0.0.1) guard (2.18.1) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) @@ -894,7 +880,7 @@ GEM rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.1) + rspec-core (3.13.2) rspec-support (~> 3.13.0) rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) @@ -902,7 +888,7 @@ GEM rspec-instrumentation-matcher (0.0.9) activesupport rspec-expectations - rspec-its (1.3.0) + rspec-its (1.3.1) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) rspec-mocks (3.13.2) @@ -1035,7 +1021,7 @@ GEM ffi ssrf_filter (1.1.2) staccato (0.5.3) - statsd-instrument (3.9.2) + statsd-instrument (3.9.3) stringio (3.1.1) strong_migrations (2.0.1) activerecord (>= 6.1) @@ -1294,8 +1280,6 @@ DEPENDENCIES shoulda-matchers shrine sidekiq (~> 7.2.0) - sidekiq-ent! - sidekiq-pro! sign_in_service simple_forms_api! simplecov From 4d2548fae5d7fa7ef92e15df86be8c6c2fdedec7 Mon Sep 17 00:00:00 2001 From: Andrew Herzberg Date: Wed, 23 Oct 2024 12:07:11 -0700 Subject: [PATCH 04/17] fix --- Gemfile.lock | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Gemfile.lock b/Gemfile.lock index ea54de671f9..b4fd443f15f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,6 +135,18 @@ PATH veteran_confirmation (0.0.1) vye (0.1.0) +GEM + remote: https://enterprise.contribsys.com/ + specs: + sidekiq-ent (7.2.4) + einhorn (~> 1.0) + gserver + sidekiq (>= 7.2.0, < 8) + sidekiq-pro (>= 7.2.0, < 8) + sidekiq-pro (7.2.1) + base64 + sidekiq (>= 7.2.0, < 8) + GEM remote: https://rubygems.org/ specs: @@ -406,6 +418,7 @@ GEM dry-initializer (~> 3.0) dry-schema (>= 1.12, < 2) zeitwerk (~> 2.6) + einhorn (1.0.0) erubi (1.13.0) et-orbi (1.2.11) tzinfo @@ -527,6 +540,7 @@ GEM multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) + gserver (0.0.1) guard (2.18.1) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) @@ -1280,6 +1294,8 @@ DEPENDENCIES shoulda-matchers shrine sidekiq (~> 7.2.0) + sidekiq-ent! + sidekiq-pro! sign_in_service simple_forms_api! simplecov From afbfbea7383b8e6da9dd156b7cb0b6a9d591c195 Mon Sep 17 00:00:00 2001 From: Andrew Herzberg Date: Wed, 23 Oct 2024 12:26:07 -0700 Subject: [PATCH 05/17] efolder fix --- modules/mobile/docs/index.html | 34 +++++------ modules/mobile/docs/openapi.json | 77 +++++++++++++------------ modules/mobile/docs/schemas/Efolder.yml | 64 ++++++++++---------- 3 files changed, 90 insertions(+), 85 deletions(-) diff --git a/modules/mobile/docs/index.html b/modules/mobile/docs/index.html index f7597913e2c..2fb826c4970 100755 --- a/modules/mobile/docs/index.html +++ b/modules/mobile/docs/index.html @@ -12,7 +12,7 @@ margin: 0; } - -