Skip to content

Commit

Permalink
fix(app): commandText for dropTip and adapters (#13497)
Browse files Browse the repository at this point in the history
closes RAUT-698
  • Loading branch information
jerader authored Sep 12, 2023
1 parent 22fda74 commit b9ddbdd
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 12 deletions.
3 changes: 3 additions & 0 deletions app/src/assets/localization/en/protocol_command_text.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"adapter_in_mod_in_slot": "{{adapter}} on {{module}} in {{slot}}",
"adapter_in_slot": "{{adapter}} in {{slot}}",
"aspirate": "Aspirating {{volume}} µL from well {{well_name}} of {{labware}} in {{labware_location}} at {{flow_rate}} µL/sec",
"blowout": "Blowing out at well {{well_name}} of {{labware}} in {{labware_location}} at {{flow_rate}} µL/sec",
"closing_tc_lid": "Closing Thermocycler lid",
Expand Down Expand Up @@ -34,6 +36,7 @@
"pause_on": "Pause on {{robot_name}}",
"pause": "Pause",
"pickup_tip": "Picking up tip from {{well_name}} of {{labware}} in {{labware_location}}",
"return_tip": "Returning tip to {{well_name}} of {{labware}} in {{labware_location}}",
"save_position": "Saving position",
"set_and_await_hs_shake": "Setting Heater-Shaker to shake at {{rpm}} rpm and waiting until reached",
"setting_hs_temp": "Setting Target Temperature of Heater-Shaker to {{temp}}",
Expand Down
31 changes: 23 additions & 8 deletions app/src/organisms/CommandText/PipettingCommandText.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
import { useTranslation } from 'react-i18next'
import { getLoadedLabware } from './utils/accessors'
import { getLabwareName, getLabwareDisplayLocation } from './utils'
import type {
import {
CompletedProtocolAnalysis,
AspirateRunTimeCommand,
DispenseRunTimeCommand,
BlowoutRunTimeCommand,
MoveToWellRunTimeCommand,
DropTipRunTimeCommand,
PickUpTipRunTimeCommand,
getLabwareDefURI,
} from '@opentrons/shared-data'
import { getLabwareDefinitionsFromCommands } from '../LabwarePositionCheck/utils/labware'
import { getLoadedLabware } from './utils/accessors'
import { getLabwareName, getLabwareDisplayLocation } from './utils'

type PipettingRunTimeCommmand =
| AspirateRunTimeCommand
Expand All @@ -32,6 +34,7 @@ export const PipettingCommandText = ({
const { labwareId, wellName } = command.params
const labwareLocation = getLoadedLabware(robotSideAnalysis, labwareId)
?.location

const displayLocation =
labwareLocation != null
? getLabwareDisplayLocation(robotSideAnalysis, labwareLocation, t)
Expand Down Expand Up @@ -74,11 +77,23 @@ export const PipettingCommandText = ({
})
}
case 'dropTip': {
return t('drop_tip', {
well_name: wellName,
labware: getLabwareName(robotSideAnalysis, labwareId),
labware_location: displayLocation,
})
const loadedLabware = getLoadedLabware(robotSideAnalysis, labwareId)
const labwareDefinitions = getLabwareDefinitionsFromCommands(
robotSideAnalysis.commands
)
const labwareDef = labwareDefinitions.find(
lw => getLabwareDefURI(lw) === loadedLabware?.definitionUri
)
return labwareDef?.parameters.isTiprack
? t('return_tip', {
well_name: wellName,
labware: getLabwareName(robotSideAnalysis, labwareId),
labware_location: displayLocation,
})
: t('drop_tip', {
well_name: wellName,
labware: getLabwareName(robotSideAnalysis, labwareId),
})
}
case 'pickUpTip': {
return t('pickup_tip', {
Expand Down
26 changes: 25 additions & 1 deletion app/src/organisms/CommandText/__tests__/CommandText.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ import type {
LoadLabwareRunTimeCommand,
LoadLiquidRunTimeCommand,
} from '@opentrons/shared-data/protocol/types/schemaV7/command/setup'
import { LabwareDefinition2, RunTimeCommand } from '@opentrons/shared-data'
import {
LabwareDefinition2,
RunTimeCommand,
DropTipRunTimeCommand,
} from '@opentrons/shared-data'

describe('CommandText', () => {
it('renders correct text for aspirate', () => {
Expand Down Expand Up @@ -107,6 +111,26 @@ describe('CommandText', () => {
getByText('Dropping tip in A1 of Fixed Trash')
}
})
it('renders correct text for dropTip into a labware', () => {
const { getByText } = renderWithProviders(
<CommandText
robotSideAnalysis={mockRobotSideAnalysis}
command={
{
commandType: 'dropTip',
params: {
labwareId: 'b2a40c9d-31b0-4f27-ad4a-c92ced91204d',
wellName: 'A1',
wellLocation: { origin: 'top', offset: { x: 0, y: 0, z: 0 } },
pipetteId: 'f6d1c83c-9d1b-4d0d-9de3-e6d649739cfb',
},
} as DropTipRunTimeCommand
}
/>,
{ i18nInstance: i18n }
)[0]
getByText('Returning tip to A1 of Opentrons 96 Tip Rack 300 µL in Slot 9')
})
it('renders correct text for pickUpTip', () => {
const command = mockRobotSideAnalysis.commands.find(
c => c.commandType === 'pickUpTip'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export function getLabwareDisplayLocation(
} else if ('slotName' in adapter.location) {
return t('adapter_in_slot', {
adapter: adapterDisplayName,
slot_name: adapter.location.slotName,
slot: adapter.location.slotName,
})
} else if ('moduleId' in adapter.location) {
const moduleIdUnderAdapter = adapter.location.moduleId
Expand All @@ -82,14 +82,14 @@ export function getLabwareDisplayLocation(
robotSideAnalysis,
adapter.location.moduleId
)
return t('adapter_in_module_in_slot', {
return t('adapter_in_mod_in_slot', {
count: getOccludedSlotCountForModule(
getModuleType(moduleModel),
robotSideAnalysis.robotType ?? OT2_STANDARD_MODEL
),
module: getModuleDisplayName(moduleModel),
adapter: adapterDisplayName,
slot_name: slotName,
slot: slotName,
})
} else {
console.warn(
Expand Down

0 comments on commit b9ddbdd

Please sign in to comment.