Skip to content

Commit

Permalink
add test and update fixtures
Browse files Browse the repository at this point in the history
  • Loading branch information
shiyaochen authored and shiyaochen committed Feb 10, 2025
1 parent efca52f commit 1649f3a
Show file tree
Hide file tree
Showing 9 changed files with 101 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,10 @@
"aspirate_mix_volume": "30",
"aspirate_mmFromBottom": 1,
"aspirate_retract_delay_seconds": null,
"aspirate_retract_mmFromBottom": null,
"aspirate_retract_speed": null,
"aspirate_retract_x_position": 0,
"aspirate_retract_y_position": 0,
"aspirate_submerge_delay_seconds": null,
"aspirate_submerge_speed": null,
"aspirate_touchTip_checkbox": true,
Expand Down Expand Up @@ -179,7 +182,10 @@
"dispense_mix_volume": null,
"dispense_mmFromBottom": 0.5,
"dispense_retract_delay_seconds": null,
"dispense_retract_mmFromBottom": null,
"dispense_retract_speed": null,
"dispense_retract_x_position": 0,
"dispense_retract_y_position": 0,
"dispense_submerge_delay_seconds": null,
"dispense_submerge_speed": null,
"dispense_touchTip_checkbox": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,10 @@
"aspirate_mix_volume": null,
"aspirate_mmFromBottom": 1,
"aspirate_retract_delay_seconds": null,
"aspirate_retract_mmFromBottom": null,
"aspirate_retract_speed": null,
"aspirate_retract_x_position": 0,
"aspirate_retract_y_position": 0,
"aspirate_submerge_delay_seconds": null,
"aspirate_submerge_speed": null,
"aspirate_touchTip_checkbox": false,
Expand Down Expand Up @@ -211,7 +214,10 @@
"dispense_mix_volume": null,
"dispense_mmFromBottom": 0.5,
"dispense_retract_delay_seconds": null,
"dispense_retract_mmFromBottom": null,
"dispense_retract_speed": null,
"dispense_retract_x_position": 0,
"dispense_retract_y_position": 0,
"dispense_submerge_delay_seconds": null,
"dispense_submerge_speed": null,
"dispense_touchTip_checkbox": false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,10 @@
"aspirate_mix_volume": null,
"aspirate_mmFromBottom": null,
"aspirate_retract_delay_seconds": null,
"aspirate_retract_mmFromBottom": null,
"aspirate_retract_speed": null,
"aspirate_retract_x_position": 0,
"aspirate_retract_y_position": 0,
"aspirate_submerge_delay_seconds": null,
"aspirate_submerge_speed": null,
"aspirate_touchTip_checkbox": false,
Expand Down Expand Up @@ -228,7 +231,10 @@
"dispense_mix_volume": null,
"dispense_mmFromBottom": null,
"dispense_retract_delay_seconds": null,
"dispense_retract_mmFromBottom": null,
"dispense_retract_speed": null,
"dispense_retract_x_position": 0,
"dispense_retract_y_position": 0,
"dispense_submerge_delay_seconds": null,
"dispense_submerge_speed": null,
"dispense_touchTip_checkbox": false,
Expand Down
6 changes: 6 additions & 0 deletions protocol-designer/fixtures/protocol/8/doItAllV8.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,10 @@
"aspirate_mix_volume": null,
"aspirate_mmFromBottom": null,
"aspirate_retract_delay_seconds": null,
"aspirate_retract_mmFromBottom": null,
"aspirate_retract_speed": null,
"aspirate_retract_x_position": 0,
"aspirate_retract_y_position": 0,
"aspirate_submerge_delay_seconds": null,
"aspirate_submerge_speed": null,
"aspirate_touchTip_checkbox": false,
Expand Down Expand Up @@ -188,7 +191,10 @@
"dispense_mix_volume": null,
"dispense_mmFromBottom": null,
"dispense_retract_delay_seconds": null,
"dispense_retract_mmFromBottom": null,
"dispense_retract_speed": null,
"dispense_retract_x_position": 0,
"dispense_retract_y_position": 0,
"dispense_submerge_delay_seconds": null,
"dispense_submerge_speed": null,
"dispense_touchTip_checkbox": false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,10 @@
"aspirate_mix_volume": "2",
"aspirate_mmFromBottom": 1,
"aspirate_retract_delay_seconds": null,
"aspirate_retract_mmFromBottom": null,
"aspirate_retract_speed": null,
"aspirate_retract_x_position": 0,
"aspirate_retract_y_position": 0,
"aspirate_submerge_delay_seconds": null,
"aspirate_submerge_speed": null,
"aspirate_touchTip_checkbox": true,
Expand Down Expand Up @@ -150,7 +153,10 @@
"dispense_mix_volume": "3",
"dispense_mmFromBottom": 2.5,
"dispense_retract_delay_seconds": null,
"dispense_retract_mmFromBottom": null,
"dispense_retract_speed": null,
"dispense_retract_x_position": 0,
"dispense_retract_y_position": 0,
"dispense_submerge_delay_seconds": null,
"dispense_submerge_speed": null,
"dispense_touchTip_checkbox": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,10 @@
"aspirate_mix_volume": null,
"aspirate_mmFromBottom": 29,
"aspirate_retract_delay_seconds": null,
"aspirate_retract_mmFromBottom": null,
"aspirate_retract_speed": null,
"aspirate_retract_x_position": 0,
"aspirate_retract_y_position": 0,
"aspirate_submerge_delay_seconds": null,
"aspirate_submerge_speed": null,
"aspirate_touchTip_checkbox": false,
Expand Down Expand Up @@ -92,7 +95,10 @@
"dispense_mix_volume": null,
"dispense_mmFromBottom": null,
"dispense_retract_delay_seconds": null,
"dispense_retract_mmFromBottom": null,
"dispense_retract_speed": null,
"dispense_retract_x_position": 0,
"dispense_retract_y_position": 0,
"dispense_submerge_delay_seconds": null,
"dispense_submerge_speed": null,
"dispense_touchTip_checkbox": false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,10 @@
"aspirate_mix_volume": null,
"aspirate_mmFromBottom": null,
"aspirate_retract_delay_seconds": null,
"aspirate_retract_mmFromBottom": null,
"aspirate_retract_speed": null,
"aspirate_retract_x_position": 0,
"aspirate_retract_y_position": 0,
"aspirate_submerge_delay_seconds": null,
"aspirate_submerge_speed": null,
"aspirate_touchTip_checkbox": false,
Expand Down Expand Up @@ -91,7 +94,10 @@
"dispense_mix_volume": null,
"dispense_mmFromBottom": null,
"dispense_retract_delay_seconds": null,
"dispense_retract_mmFromBottom": null,
"dispense_retract_speed": null,
"dispense_retract_x_position": 0,
"dispense_retract_y_position": 0,
"dispense_submerge_delay_seconds": null,
"dispense_submerge_speed": null,
"dispense_touchTip_checkbox": false,
Expand Down Expand Up @@ -129,7 +135,10 @@
"aspirate_mix_volume": null,
"aspirate_mmFromBottom": null,
"aspirate_retract_delay_seconds": null,
"aspirate_retract_mmFromBottom": null,
"aspirate_retract_speed": null,
"aspirate_retract_x_position": 0,
"aspirate_retract_y_position": 0,
"aspirate_submerge_delay_seconds": null,
"aspirate_submerge_speed": null,
"aspirate_touchTip_checkbox": false,
Expand Down Expand Up @@ -157,7 +166,10 @@
"dispense_mix_volume": null,
"dispense_mmFromBottom": null,
"dispense_retract_delay_seconds": null,
"dispense_retract_mmFromBottom": null,
"dispense_retract_speed": null,
"dispense_retract_x_position": 0,
"dispense_retract_y_position": 0,
"dispense_submerge_delay_seconds": null,
"dispense_submerge_speed": null,
"dispense_touchTip_checkbox": false,
Expand Down
2 changes: 2 additions & 0 deletions protocol-designer/src/organisms/TipPositionModal/utils.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ export function getDefaultMmFromEdge(args: { name: StepFieldName }): number {
case 'dispense_delay_mmFromBottom':
case 'aspirate_delay_mmFromBottom':
case 'aspirate_mmFromBottom':
case 'aspirate_retract_mmFromBottom':
case 'dispense_retract_mmFromBottom':
return DEFAULT_MM_OFFSET_FROM_BOTTOM

default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import { MultiInputField } from '../MultiInputField'

import type { ComponentProps } from 'react'

vi.mock('../../../PipetteFields')

const render = (props: ComponentProps<typeof MultiInputField>) => {
return renderWithProviders(<MultiInputField {...props} />, {
i18nInstance: i18n,
Expand All @@ -18,69 +20,99 @@ describe('MultiInputField', () => {

beforeEach(() => {
props = {
name: 'Submerge',
name: 'Retract',
tooltipContent: 'some tooltip content',
prefix: 'aspirate',
prefix: 'aspirate_retract',
fields: [
{
fieldTitle: 'submerge speed',
fieldKey: 'aspirate_submerge_speed',
fieldTitle: 'retract speed',
fieldKey: 'aspirate_retract_speed',
units: 'mm/s',
},
{
fieldTitle: 'submerge delay seconds',
fieldKey: 'aspirate_submerge_delay_seconds',
fieldTitle: 'retract delay seconds',
fieldKey: 'aspirate_retract_delay_seconds',
units: 'mm',
},
],
propsForFields: {
aspirate_submerge_speed: {
aspirate_retract_speed: {
onFieldFocus: vi.fn(),
onFieldBlur: vi.fn(),
errorToShow: null,
disabled: false,
name: 'aspirate_submerge_speed',
name: 'aspirate_retract_speed',
updateValue: vi.fn(),
value: null,
},
aspirate_submerge_delay_seconds: {
aspirate_retract_delay_seconds: {
onFieldFocus: vi.fn(),
onFieldBlur: vi.fn(),
errorToShow: null,
disabled: false,
name: 'aspirate_submerge_delay_seconds',
name: 'aspirate_retract_delay_seconds',
updateValue: vi.fn(),
value: '',
},
aspirate_retract_mmFromBottom: {
onFieldFocus: vi.fn(),
onFieldBlur: vi.fn(),
errorToShow: null,
disabled: false,
name: 'aspirate_retract_mmFromBottom',
updateValue: vi.fn(),
value: null,
},
aspirate_retract_x_position: {
onFieldFocus: vi.fn(),
onFieldBlur: vi.fn(),
errorToShow: null,
disabled: false,
name: 'aspirate_retract_mmFromBottom',
updateValue: vi.fn(),
value: 0,
},
aspirate_retract_y_position: {
onFieldFocus: vi.fn(),
onFieldBlur: vi.fn(),
errorToShow: null,
disabled: false,
name: 'aspirate_retract_mmFromBottom',
updateValue: vi.fn(),
value: 0,
},
},
}
})

it('should render input fields with caption and units wrapped by ListItem', () => {
render(props)
screen.getByText('Submerge')
screen.getByText('Retract')
screen.getByTestId('information_icon')
const listItem = screen.getByTestId('ListItem_noActive')
expect(listItem).toHaveStyle(`backgroundColor: ${COLORS.grey20}`)
screen.getByText('submerge speed')
screen.getByText('retract speed')
screen.getByText('mm/s')
screen.getByText('submerge delay seconds')
screen.getByText('retract delay seconds')
screen.getByText('mm')
const inputs = screen.getAllByRole('textbox', { name: '' })
expect(inputs).toHaveLength(2)
fireEvent.change(inputs[0], { target: { value: ['5'] } })
fireEvent.change(inputs[0], { target: { value: ['5'] } })
expect(
props.propsForFields.aspirate_submerge_speed.updateValue
props.propsForFields.aspirate_retract_speed.updateValue
).toHaveBeenCalled()
fireEvent.change(inputs[1], { target: { value: ['10'] } })
expect(
props.propsForFields.aspirate_submerge_delay_seconds.updateValue
props.propsForFields.aspirate_retract_delay_seconds.updateValue
).toHaveBeenCalled()
})

// it('should render a well position listbutton when isWellPosition is true', () => {
// props.isWellPosition = true
// render(props)
// })
it('should render a well position listbutton when isWellPosition is true', () => {
props.isWellPosition = true
props.labwareId = 'mockID'
render(props)
const listButton = screen.getByTestId('ListButton_onColor')

Check failure on line 115 in protocol-designer/src/pages/Designer/ProtocolSteps/StepForm/StepTools/MoveLiquidTools/__tests__/MultiInputField.test.tsx

View workflow job for this annotation

GitHub Actions / protocol designer unit tests

protocol-designer/src/pages/Designer/ProtocolSteps/StepForm/StepTools/MoveLiquidTools/__tests__/MultiInputField.test.tsx > MultiInputField > should render a well position listbutton when isWellPosition is true

TestingLibraryElementError: Unable to find an element by: [data-testid="ListButton_onColor"] Ignored nodes: comments, script, style <body> <div> <div class="sc-jrcTuL esenyZ" > <div class="sc-jrcTuL eXVeJW" > <p class="sc-eDWCr sc-hBxehG sc-fnGiBr hWhmg kRfFrQ" > Retract </p> <div aria-describedby="Tooltip__7" class="sc-jrcTuL fFdnqd" > <svg aria-hidden="true" class="sc-csuSiG sc-bjfHbI iWEtZj bCueEr" data-testid="information_icon" fill="currentColor" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" > <path aria-roledescription="information" d="M12 24C18.6274 24 24 18.6274 24 12C24 5.37259 18.6274 0 12 0C5.37259 0 0 5.37259 0 12C0 18.6274 5.37259 24 12 24ZM12.859 4.90789C12.5931 4.63596 12.2668 4.5 11.8801 4.5C11.4933 4.5 11.164 4.63596 10.8921 4.90789C10.6262 5.17982 10.4933 5.50613 10.4933 5.88683C10.4933 6.27357 10.6292 6.6029 10.9011 6.87483C11.1731 7.14676 11.4994 7.28272 11.8801 7.28272C12.2668 7.28272 12.5931 7.14676 12.859 6.87483C13.1309 6.6029 13.2669 6.27357 13.2669 5.88683C13.2669 5.50613 13.1309 5.17982 12.859 4.90789ZM9.39648 16.9543V17.625C10.0612 17.6008 10.8286 17.5888 11.6988 17.5888C12.708 17.5888 13.6416 17.6008 14.4996 17.625V16.918C13.8712 16.8938 13.4754 16.8425 13.3122 16.7639C13.2397 16.7277 13.1914 16.6551 13.1672 16.5464C13.1189 16.353 13.0947 15.7306 13.0947 14.6791V11.5973C13.0947 10.7694 13.1309 9.88416 13.2035 8.94147L12.9859 8.82364C12.436 9.04722 11.9284 9.2134 11.4631 9.32217C10.9978 9.43094 10.309 9.53367 9.39648 9.63036V10.3192C10.0975 10.3253 10.5084 10.3676 10.6292 10.4461C10.6836 10.4824 10.7229 10.561 10.7471 10.6818C10.8014 10.9416 10.8286 12.0173 10.8286 13.9087C10.8286 15.2864 10.7984 16.1415 10.738 16.4739C10.7138 16.631 10.6534 16.7397 10.5567 16.8002C10.46 16.8546 10.0733 16.9059 9.39648 16.9543Z" fill-rule="evenodd" /> </svg> </div> </div> <div class="sc-jrcTuL sc-gGvHcT fFdnqd igscwK" data-testid="ListItem_noActive" > <div class="sc-jrcTuL idWxnz" > <div class="sc-jrcTuL kmFzfm" > <div class="sc-jrcTuL hVJRGM" > <div class="sc-jrcTuL bOSaSy" > <div class="sc-jrcTuL knybOO" > <p class="sc-eDWCr sc-hBxehG sc-fnGiBr sc-iAEawV fKpLSQ kRfFrQ icSuzT" > retract speed </p> </div> <div class="sc-jrcTuL sc-eeMvmM bOSaSy hWTazb" > <div class="sc-jrcTuL sc-cUEOzv deOCdd iDYGkq" tabindex="0" > <input class="sc-iTFTee ciYPrb" name="aspirate_retract_speed" value="" /> <div class="sc-jrcTuL sc-jOiSOi fFdnqd gkywTG" > mm/s </div> </div> </div> </div> </div> </div> <div class="sc-jrcTuL kmFzfm" > <div class="sc-jrcTuL hVJRGM" > <div class="sc-jrcTuL bOSaSy" > <div class="sc-jrcTuL knybOO" > <p class="sc-eDWCr sc-hBxehG sc-fnGiBr sc-iAEawV fKpLSQ kRfFrQ icSuzT" > retract delay seconds </p> </div> <div class="sc-jrcTuL sc-eeMvmM bOSaSy hWTazb"

Check failure on line 115 in protocol-designer/src/pages/Designer/ProtocolSteps/StepForm/StepTools/MoveLiquidTools/__tests__/MultiInputField.test.tsx

View workflow job for this annotation

GitHub Actions / protocol designer unit tests

protocol-designer/src/pages/Designer/ProtocolSteps/StepForm/StepTools/MoveLiquidTools/__tests__/MultiInputField.test.tsx > MultiInputField > should render a well position listbutton when isWellPosition is true

TestingLibraryElementError: Unable to find an element by: [data-testid="ListButton_onColor"] Ignored nodes: comments, script, style <body> <div> <div class="sc-jrcTuL esenyZ" > <div class="sc-jrcTuL eXVeJW" > <p class="sc-eDWCr sc-hBxehG sc-fnGiBr hWhmg kRfFrQ" > Retract </p> <div aria-describedby="Tooltip__7" class="sc-jrcTuL fFdnqd" > <svg aria-hidden="true" class="sc-csuSiG sc-bjfHbI iWEtZj bCueEr" data-testid="information_icon" fill="currentColor" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" > <path aria-roledescription="information" d="M12 24C18.6274 24 24 18.6274 24 12C24 5.37259 18.6274 0 12 0C5.37259 0 0 5.37259 0 12C0 18.6274 5.37259 24 12 24ZM12.859 4.90789C12.5931 4.63596 12.2668 4.5 11.8801 4.5C11.4933 4.5 11.164 4.63596 10.8921 4.90789C10.6262 5.17982 10.4933 5.50613 10.4933 5.88683C10.4933 6.27357 10.6292 6.6029 10.9011 6.87483C11.1731 7.14676 11.4994 7.28272 11.8801 7.28272C12.2668 7.28272 12.5931 7.14676 12.859 6.87483C13.1309 6.6029 13.2669 6.27357 13.2669 5.88683C13.2669 5.50613 13.1309 5.17982 12.859 4.90789ZM9.39648 16.9543V17.625C10.0612 17.6008 10.8286 17.5888 11.6988 17.5888C12.708 17.5888 13.6416 17.6008 14.4996 17.625V16.918C13.8712 16.8938 13.4754 16.8425 13.3122 16.7639C13.2397 16.7277 13.1914 16.6551 13.1672 16.5464C13.1189 16.353 13.0947 15.7306 13.0947 14.6791V11.5973C13.0947 10.7694 13.1309 9.88416 13.2035 8.94147L12.9859 8.82364C12.436 9.04722 11.9284 9.2134 11.4631 9.32217C10.9978 9.43094 10.309 9.53367 9.39648 9.63036V10.3192C10.0975 10.3253 10.5084 10.3676 10.6292 10.4461C10.6836 10.4824 10.7229 10.561 10.7471 10.6818C10.8014 10.9416 10.8286 12.0173 10.8286 13.9087C10.8286 15.2864 10.7984 16.1415 10.738 16.4739C10.7138 16.631 10.6534 16.7397 10.5567 16.8002C10.46 16.8546 10.0733 16.9059 9.39648 16.9543Z" fill-rule="evenodd" /> </svg> </div> </div> <div class="sc-jrcTuL sc-gGvHcT fFdnqd igscwK" data-testid="ListItem_noActive" > <div class="sc-jrcTuL idWxnz" > <div class="sc-jrcTuL kmFzfm" > <div class="sc-jrcTuL hVJRGM" > <div class="sc-jrcTuL bOSaSy" > <div class="sc-jrcTuL knybOO" > <p class="sc-eDWCr sc-hBxehG sc-fnGiBr sc-iAEawV fKpLSQ kRfFrQ icSuzT" > retract speed </p> </div> <div class="sc-jrcTuL sc-eeMvmM bOSaSy hWTazb" > <div class="sc-jrcTuL sc-cUEOzv deOCdd iDYGkq" tabindex="0" > <input class="sc-iTFTee ciYPrb" name="aspirate_retract_speed" value="" /> <div class="sc-jrcTuL sc-jOiSOi fFdnqd gkywTG" > mm/s </div> </div> </div> </div> </div> </div> <div class="sc-jrcTuL kmFzfm" > <div class="sc-jrcTuL hVJRGM" > <div class="sc-jrcTuL bOSaSy" > <div class="sc-jrcTuL knybOO" > <p class="sc-eDWCr sc-hBxehG sc-fnGiBr sc-iAEawV fKpLSQ kRfFrQ icSuzT" > retract delay seconds </p> </div> <div class="sc-jrcTuL sc-eeMvmM bOSaSy hWTazb"
expect(listButton).toHaveStyle(`backgroundColor: ${COLORS.white}`)
})
})

0 comments on commit 1649f3a

Please sign in to comment.