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

refactor(protocol-designer): use deckConfigurator for hardware onboarding page #18044

Open
wants to merge 21 commits into
base: edge
Choose a base branch
from

Conversation

jerader
Copy link
Collaborator

@jerader jerader commented Apr 11, 2025

closes AUTH-1706

Overview

This is a huge PR which refactors how we add modules and fixtures to the onboarding flow for the Flex. The ot-2 pretty much stays the same.

Test Plan and Hands on Testing

Test the onboarding flow and make sure everything works as expected when adding the different module combos and fixtures

There are 3 snackbars you should run into:

  1. trying to add a 2nd trash bin
  2. trying to add a plate reader when there is no gripper attached
  3. trying to add a thermocycler when there is something in slot A1

And then you should run into a snackbar if you try to confirm and proceed when there is no trash bin or waste chute

Changelog

  • refactor how the form adds additional equipment by splitting it up into fixtures and hasGripper
  • utilize DeckConfigurator component and make new hardwareConfigurator and modal and utils to handle adding the different options
  • add some test coverage
  • clean up SelectOt2Modules component to be for ot-2 only
  • fix e2e tests

Risk assessment

medium - touches a lot of the onboarding flow

@jerader jerader requested review from a team as code owners April 11, 2025 13:22
@jerader jerader requested review from shlokamin and removed request for a team April 11, 2025 13:22
Copy link

codecov bot commented Apr 11, 2025

Codecov Report

Attention: Patch coverage is 59.24968% with 315 lines in your changes missing coverage. Please review.

Project coverage is 26.92%. Comparing base (14ee9f8) to head (87f39b9).
Report is 7 commits behind head on edge.

Files with missing lines Patch % Lines
...components/organisms/HardwareConfigurator/util.tsx 33.77% 149 Missing ⚠️
...signer/src/pages/Onboarding/SelectFlexHardware.tsx 0.00% 33 Missing ⚠️
...organisms/HardwareConfigurator/AddFixtureModal.tsx 84.10% 31 Missing ⚠️
protocol-designer/src/pages/Onboarding/index.tsx 0.00% 25 Missing ⚠️
...col-designer/src/pages/Onboarding/SelectBasics.tsx 73.07% 21 Missing ⚠️
...omponents/organisms/HardwareConfigurator/index.tsx 73.68% 20 Missing ⚠️
...onents/src/hardware-sim/DeckConfigurator/index.tsx 0.00% 13 Missing ⚠️
...designer/src/pages/Onboarding/SelectOt2Modules.tsx 60.71% 11 Missing ⚠️
components/src/organisms/FixtureOption/index.tsx 84.44% 7 Missing ⚠️
...tocol-designer/src/pages/Onboarding/WizardBody.tsx 92.00% 2 Missing ⚠️
... and 3 more
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##             edge   #18044       +/-   ##
===========================================
- Coverage   62.01%   26.92%   -35.10%     
===========================================
  Files        2989     2950       -39     
  Lines      232004   227437     -4567     
  Branches    20013    19799      -214     
===========================================
- Hits       143885    61235    -82650     
- Misses      87942   166180    +78238     
+ Partials      177       22      -155     
Flag Coverage Δ
protocol-designer 18.90% <59.40%> (+0.02%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...DeviceDetailsDeckConfiguration/AddFixtureModal.tsx 0.00% <ø> (-63.08%) ⬇️
...tionConflictModal/ChooseModuleToConfigureModal.tsx 0.00% <ø> (-46.32%) ⬇️
components/src/organisms/index.ts 100.00% <100.00%> (ø)
...tocol-designer/src/assets/localization/en/index.ts 100.00% <100.00%> (ø)
protocol-designer/src/assets/localization/index.ts 87.50% <100.00%> (+0.26%) ⬆️
.../organisms/ConfirmDeleteEntityInUseModal/index.tsx 100.00% <100.00%> (ø)
.../organisms/ConfirmDeleteStagingAreaModal/index.tsx 100.00% <100.00%> (ø)
...c/components/organisms/EditNickNameModal/index.tsx 100.00% <100.00%> (ø)
...ents/organisms/EditProtocolMetadataModal/index.tsx 93.90% <100.00%> (ø)
...mponents/organisms/IncompatibleTipsModal/index.tsx 100.00% <100.00%> (ø)
... and 27 more

... and 1679 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jerader jerader requested review from koji and ncdiehl11 April 11, 2025 13:33
@jerader
Copy link
Collaborator Author

jerader commented Apr 11, 2025

  • fix e2e tests
  • fix usage of css' in components component

@koji
Copy link
Contributor

koji commented Apr 11, 2025

Screen.Recording.2025-04-11.at.3.08.07.PM.mov

after adding a module to B1, if i click on A1, TC shows up in the modal. when i select that, it seems to override and remove button isn't responded. is this expected?

@koji
Copy link
Contributor

koji commented Apr 11, 2025

when no gripper, the modal shows Absorbance Plate Reader Module but the current production doesn't show Plate Reader when no gripper. is this the design team's request?

Screenshot 2025-04-11 at 3 28 45 PM

@jerader
Copy link
Collaborator Author

jerader commented Apr 11, 2025

after adding a module to B1, if i click on A1, TC shows up in the modal. when i select that, it seems to override and remove button isn't responded. is this expected?

@koji - overriding is expected. But you should be able to to still remove the thermocycler. i'll look into it. thanks for catching!

@jerader
Copy link
Collaborator Author

jerader commented Apr 11, 2025

when no gripper, the modal shows Absorbance Plate Reader Module but the current production doesn't show Plate Reader when no gripper. is this the design team's request?

Screenshot 2025-04-11 at 3 28 45 PM

@koji yeah, we want the plate reader to always show up but when you click to add it, a snackbar appears if you don't have a gripper attached. this is Sue's request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants