Fix flakey local test failures for in-person proofing feature specs#7145
Merged
Fix flakey local test failures for in-person proofing feature specs#7145
Conversation
**Why**: Clicking "Continue" from the "prepare" step will wait for a client-side logging event before continuing to the "State ID" step, which often cannot complete before the 0.5 second tolerance allowed by default in local development environments. changelog: Internal, Automated Testing, Improve reliability of feature specs
mitchellhenke
approved these changes
Oct 14, 2022
Merged
mdiarra3
added a commit
that referenced
this pull request
Oct 17, 2022
* LG-7446 Create "Cancel" Links and Supporting Cancellation Code for Identity Proofing Process (1 of n) (#7124) * Create concern to render 404 if The IdentityConfig.store.inherited_proofing_enabled returns false in preparation for use in the Inherited Proofing (IP) cancellations controller that needs to be created. Eventually, this code may get thrown away once IP goes live; however, this makes for less lines of code that need to be removed once/if it does. changelog: Improvements, Upcoming Features, LG-7446 Create Inherited Proofing Cancellation Links and Process * Add skeleton InheritedProofingCancellationsController Specs to be added in subsequent PR when controller actions are fleshed out. * Add InheritedProofingCancellationsController views and i18n * Add routes for InheritedProofingCancellationsController actions * Satisfy Brakeman violations Specifically, the "Render path contains parameter value" violation. This commit whitelists the flow steps expected and raises an error if params[:step] is not found in the whitelist. Confidence: Weak Category: Dynamic Render Path Check: Render Message: Render path contains parameter value Code: render(action => ButtonComponent.new(:action => (lambda do button_to(idv_inherited_proofing_cancel_path(:step => params[:step]), { **tag_options }, &block) end), :method => :put, :big => true, :wide => true, :outline => true).with_content(t("inherited_proofing.cancel.actions.keep_going")), {}) File: app/views/idv/inherited_proofing_cancellations/new.html.erb Line: 23 Confidence: Weak Category: Dynamic Render Path Check: Render Message: Render path contains parameter value Code: render(action => SpinnerButtonComponent.new(:action => (lambda do button_to(idv_inherited_proofing_cancel_path(:step => params[:step], :location => "cancel"), { **tag_options }, &block) end), :method => :delete, :big => true, :wide => true, :outline => true, :form => ({ :data => ({ :form_steps_wait => "" }) })) .with_content(CancellationsPresenter.new(:sp_name => decorated_session.sp_name, :url_options => url_options).exit_action_text), {}) File: app/views/idv/inherited_proofing_cancellations/new.html.erb Line: 44 * Remove unused analytics events (#7142) changelog: Internal, Analytics, Remove unused analytics events * Remove JavaScript optimization from asset pipeline (#7136) changelog: Internal, Build Tooling, Remove redundant JavaScript optimization step * Remove unused support for proc methods in frontend logger (#7143) changelog: Internal, Analytics, Remove unused feature support in frontend logger Last usages removed in #7110 * Ensure all UserMailer emails do not use plaintext emails as parameters (#7106) * Ensure all UserMailer emails have matching User and EmailAddress parameters and plaintext emails are not used as parameters changelog: Internal, Email, Ensure all UserMailer emails have matching User and EmailAddress parameters and plaintext emails are not used as parameters Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> * fix mailer previews Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> * Prepare to drop unused registration_logs columns (LG-6317) (#7131) - Make registration_logs.submitted_at nullable, stop writing it - Ignore other columns changelog: Internal, Logging, Stop writing extra registration_logs timestamps * LG-7251 Update SAML SP request flow to POST internally instead of GET (#6894) * Update SAML SP request flow to POST internally instead of GET * Add route for internal SAML auth POST requests * changelog: Improvements, Service Provider Authentication, Update SAML Authentication Flow * Add feature flag for SAML internal POST update, tests for the flag * Allow longer wait delay for in-person feature specs (#7145) **Why**: Clicking "Continue" from the "prepare" step will wait for a client-side logging event before continuing to the "State ID" step, which often cannot complete before the 0.5 second tolerance allowed by default in local development environments. changelog: Internal, Automated Testing, Improve reliability of feature specs * LG-7702: record the issuer of the SP requesting idv in the profile. (#7125) * LG-7702: record the issuer of the SP requesting idv in the profile. changelog: Internal, Identity Verification, Track the agency requesting identity verification. * record the initiating sp as an association * use the issuer as the foreign key * changelog: Improvements, In-Person Proofing, updates translations in french and spanish (#7139) * LG-7446 Create "Cancel" Links and Supporting Cancellation Code for Identity Proofing Process (2 of n) (#7144) * Segregate Inherited Proofing routes changelog: Improvements, Upcoming Features, LG-7446 Create Inherited Proofing Cancellation Links and Process * Rename concern to avoid whitelist in naming - Flow step whitelist should be compared as strings so this was changed as well. - ...not Symbols, because they will be compared against params[:step] which will be a String value. - Remove unnecessary code * Add InheritedProofingCancellationsController specs Co-authored-by: Gene M. Angelo, Jr <web.gma@gmail.com> Co-authored-by: Andrew Duthie <andrew.duthie@gsa.gov> Co-authored-by: Mitchell Henke <mitchell.henke@gsa.gov> Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> Co-authored-by: Julia Allen <51330839+julialeague@users.noreply.github.com> Co-authored-by: Doug Price <douglas.price@gsa.gov> Co-authored-by: Matt Gardner <wilburnforce@gmail.com>
This was referenced Oct 20, 2022
Closed
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🛠 Summary of changes
Allows a longer wait delay for in-person feature specs to avoid flakey test failures when run locally. Clicking "Continue" from the "prepare" step will wait for a client-side logging event before continuing to the "State ID" step, which often cannot complete before the 0.5 second tolerance allowed by default in local development environments.
Related discussion: #7046 (comment)
Source for client-side awaited logging:
identity-idp/app/javascript/packages/document-capture/components/in-person-prepare-step.tsx
Lines 39 to 40 in 2a6bc17
Example failure:
📜 Testing Plan
Running a feature spec which uses this helper should pass.
For example:
rspec spec/features/idv/analytics_spec.rb