Skip to content

Commit

Permalink
fix(app): properly display no liquids used text in protocol details/s…
Browse files Browse the repository at this point in the history
…etup (#14144)

* fix(app): properly display no liquids used text in protocol details/setup

closes RQA-2006
  • Loading branch information
ncdiehl11 committed Dec 11, 2023
1 parent d5d3968 commit f7caea6
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 5 deletions.
17 changes: 14 additions & 3 deletions app/src/organisms/Devices/ProtocolRun/ProtocolRunSetup.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import * as React from 'react'
import { useTranslation } from 'react-i18next'

import { parseAllRequiredModuleModels } from '@opentrons/api-client'
import {
parseAllRequiredModuleModels,
parseLiquidsInLoadOrder,
} from '@opentrons/api-client'
import {
ALIGN_CENTER,
COLORS,
Expand Down Expand Up @@ -133,8 +136,16 @@ export function ProtocolRunSetup({
})

if (robot == null) return null
const hasLiquids =
protocolAnalysis != null && protocolAnalysis.liquids?.length > 0

const liquids = protocolAnalysis?.liquids ?? []

const liquidsInLoadOrder =
protocolAnalysis != null
? parseLiquidsInLoadOrder(liquids, protocolAnalysis.commands)
: []

const hasLiquids = liquidsInLoadOrder.length > 0

const hasModules = protocolAnalysis != null && modules.length > 0

const protocolDeckConfig = getSimplestDeckConfigForProtocol(protocolAnalysis)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import * as React from 'react'
import { when, resetAllWhenMocks } from 'jest-when'

import { parseAllRequiredModuleModels } from '@opentrons/api-client'
import {
parseAllRequiredModuleModels,
parseLiquidsInLoadOrder,
} from '@opentrons/api-client'
import {
partialComponentPropsMatcher,
renderWithProviders,
Expand Down Expand Up @@ -76,6 +79,9 @@ const mockUseStoredProtocolAnalysis = useStoredProtocolAnalysis as jest.MockedFu
const mockParseAllRequiredModuleModels = parseAllRequiredModuleModels as jest.MockedFunction<
typeof parseAllRequiredModuleModels
>
const mockParseLiquidsInLoadOrder = parseLiquidsInLoadOrder as jest.MockedFunction<
typeof parseLiquidsInLoadOrder
>
const mockSetupLabware = SetupLabware as jest.MockedFunction<
typeof SetupLabware
>
Expand Down Expand Up @@ -142,6 +148,7 @@ describe('ProtocolRunSetup', () => {
...MOCK_ROTOCOL_LIQUID_KEY,
} as unknown) as ProtocolAnalysisOutput)
when(mockParseAllRequiredModuleModels).mockReturnValue([])
when(mockParseLiquidsInLoadOrder).mockReturnValue([])
when(mockUseRobot)
.calledWith(ROBOT_NAME)
.mockReturnValue(mockConnectedRobot)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export const ProtocolLiquidsDetails = (
overflowY="auto"
data-testid="LiquidsDetailsTab"
>
{liquids.length > 0 ? (
{liquidsInLoadOrder.length > 0 ? (
liquidsInLoadOrder?.map((liquid, index) => {
return (
<React.Fragment key={liquid.id}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ describe('ProtocolLiquidsDetails', () => {
})
it('renders the correct info for no liquids in the protocol', () => {
props.liquids = []
mockParseLiquidsInLoadOrder.mockReturnValue([])
const [{ getByText, getByLabelText }] = render(props)
getByText('No liquids are specified for this protocol')
getByLabelText('ProtocolLIquidsDetails_noLiquidsIcon')
Expand Down

0 comments on commit f7caea6

Please sign in to comment.