From 4332b4ebb86d5a45239440384fe9280b0b0b1f99 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Tue, 22 Oct 2024 22:52:20 +0300 Subject: [PATCH] fix specs --- .rubocop.yml | 5 +--- .../process_submitter_completion_job_spec.rb | 11 ++++---- spec/requests/tools_spec.rb | 9 ++++--- spec/system/submit_form_spec.rb | 25 ++++++++++++------- 4 files changed, 28 insertions(+), 22 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 03fb8158..165bc73a 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -66,10 +66,7 @@ RSpec/ExampleLength: Max: 40 RSpec/MultipleMemoizedHelpers: - Max: 7 - -RSpec/LetSetup: - Enabled: false + Max: 6 Metrics/BlockNesting: Max: 4 diff --git a/spec/jobs/process_submitter_completion_job_spec.rb b/spec/jobs/process_submitter_completion_job_spec.rb index 7d084d57..632003b3 100644 --- a/spec/jobs/process_submitter_completion_job_spec.rb +++ b/spec/jobs/process_submitter_completion_job_spec.rb @@ -2,13 +2,14 @@ require 'rails_helper' -RSpec.describe ProcessSubmitterCompletionJob, sidekiq: :inline, type: :job do +RSpec.describe ProcessSubmitterCompletionJob do let(:account) { create(:account) } let(:user) { create(:user, account:) } let(:template) { create(:template, account:, author: user) } let(:submission) { create(:submission, template:, created_by_user: user) } let(:submitter) { create(:submitter, submission:, uuid: SecureRandom.uuid, completed_at: Time.current) } - let!(:encrypted_config) do + + before do create(:encrypted_config, key: EncryptedConfig::ESIGN_CERTS_KEY, value: GenerateCertificate.call.transform_values(&:to_pem)) end @@ -16,7 +17,7 @@ RSpec.describe ProcessSubmitterCompletionJob, sidekiq: :inline, type: :job do describe '#perform' do it 'creates a completed submitter' do expect do - described_class.perform_async('submitter_id' => submitter.id) + described_class.new.perform('submitter_id' => submitter.id) end.to change(CompletedSubmitter, :count).by(1) completed_submitter = CompletedSubmitter.last @@ -31,7 +32,7 @@ RSpec.describe ProcessSubmitterCompletionJob, sidekiq: :inline, type: :job do it 'creates a completed document' do expect do - described_class.perform_async('submitter_id' => submitter.id) + described_class.new.perform('submitter_id' => submitter.id) end.to change(CompletedDocument, :count).by(1) completed_document = CompletedDocument.last @@ -43,7 +44,7 @@ RSpec.describe ProcessSubmitterCompletionJob, sidekiq: :inline, type: :job do it 'raises an error if the submitter is not found' do expect do - described_class.perform_async('submitter_id' => 'invalid_id') + described_class.new.perform('submitter_id' => 'invalid_id') end.to raise_error(ActiveRecord::RecordNotFound) end end diff --git a/spec/requests/tools_spec.rb b/spec/requests/tools_spec.rb index 6ddd66be..b51f771c 100644 --- a/spec/requests/tools_spec.rb +++ b/spec/requests/tools_spec.rb @@ -3,10 +3,11 @@ require 'rails_helper' describe 'Tools API', type: :request do - let!(:account) { create(:account) } - let!(:author) { create(:user, account:) } - let!(:file_path) { Rails.root.join('spec/fixtures/sample-document.pdf') } - let!(:encrypted_config) do + let(:account) { create(:account) } + let(:author) { create(:user, account:) } + let(:file_path) { Rails.root.join('spec/fixtures/sample-document.pdf') } + + before do create(:encrypted_config, key: EncryptedConfig::ESIGN_CERTS_KEY, value: GenerateCertificate.call.transform_values(&:to_pem)) end diff --git a/spec/system/submit_form_spec.rb b/spec/system/submit_form_spec.rb index e3e979ec..7c2f3223 100644 --- a/spec/system/submit_form_spec.rb +++ b/spec/system/submit_form_spec.rb @@ -3,13 +3,9 @@ require 'rails_helper' RSpec.describe 'Submit Form' do - let!(:account) { create(:account) } - let!(:user) { create(:user, account:) } - let!(:template) { create(:template, account:, author: user) } - let!(:encrypted_config) do - create(:encrypted_config, key: EncryptedConfig::ESIGN_CERTS_KEY, - value: GenerateCertificate.call.transform_values(&:to_pem)) - end + let(:account) { create(:account) } + let(:user) { create(:user, account:) } + let(:template) { create(:template, account:, author: user) } before do sign_in(user) @@ -52,8 +48,8 @@ RSpec.describe 'Submit Form' do end context 'when initialized by shared email address' do - let!(:submission) { create(:submission, template:, created_by_user: user) } - let!(:submitters) { template.submitters.map { |s| create(:submitter, submission:, uuid: s['uuid']) } } + let(:submission) { create(:submission, template:, created_by_user: user) } + let(:submitters) { template.submitters.map { |s| create(:submitter, submission:, uuid: s['uuid']) } } let(:submitter) { submitters.first } before do @@ -76,5 +72,16 @@ RSpec.describe 'Submit Form' do expect(submitter.completed_at).to be_present expect(submitter.values.values).to include('Sally') end + + it 'sends completed email' do + fill_in 'First Name', with: 'Adam' + click_on 'next' + click_on 'type_text_button' + fill_in 'signature_text_input', with: 'Adam' + + expect do + click_on 'Sign and Complete' + end.to change(ProcessSubmitterCompletionJob.jobs, :size).by(1) + end end end