Skip to content

Commit

Permalink
Revert "refactor(app): refactor protocol event analytics hooks (#14476)"
Browse files Browse the repository at this point in the history
This reverts commit 86c138b.
  • Loading branch information
b-cooper committed Feb 21, 2024
1 parent f30f52a commit 5e588d1
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import { useStoredProtocolAnalysis, useProtocolDetailsForRun } from '../'
import { useProtocolMetadata } from '../useProtocolMetadata'
import { useRunTimestamps } from '../../../RunTimeControl/hooks'
import { formatInterval } from '../../../RunTimeControl/utils'
import { mockConnectableRobot } from '../../../../redux/discovery/__fixtures__'

jest.mock('../../../../redux/analytics/hash')
jest.mock('../../../../redux/protocol-storage')
Expand Down Expand Up @@ -46,6 +45,7 @@ let store: Store<any> = createStore(jest.fn(), {})

const RUN_ID = '1'
const RUN_ID_2 = '2'
const ROBOT_NAME = 'otie'

const PIPETTES = [
{ id: '1', pipetteName: 'testModelLeft' },
Expand Down Expand Up @@ -113,7 +113,7 @@ describe('useProtocolAnalysisErrors hook', () => {

it('returns getProtocolRunAnalyticsData function', () => {
const { result } = renderHook(
() => useProtocolRunAnalyticsData(RUN_ID, mockConnectableRobot),
() => useProtocolRunAnalyticsData(RUN_ID, ROBOT_NAME),
{
wrapper,
}
Expand All @@ -128,7 +128,7 @@ describe('useProtocolAnalysisErrors hook', () => {
.calledWith(RUN_ID_2)
.mockReturnValue({ protocolData: ROBOT_PROTOCOL_ANALYSIS } as any)
const { result } = renderHook(
() => useProtocolRunAnalyticsData(RUN_ID_2, mockConnectableRobot),
() => useProtocolRunAnalyticsData(RUN_ID_2, ROBOT_NAME),
{
wrapper,
}
Expand Down Expand Up @@ -157,7 +157,7 @@ describe('useProtocolAnalysisErrors hook', () => {

it('getProtocolRunAnalyticsData returns fallback stored data when robot data unavailable', async () => {
const { result } = renderHook(
() => useProtocolRunAnalyticsData(RUN_ID, mockConnectableRobot),
() => useProtocolRunAnalyticsData(RUN_ID, ROBOT_NAME),
{
wrapper,
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,17 @@ import {
useTrackEvent,
ANALYTICS_PROTOCOL_RUN_START,
} from '../../../../redux/analytics'
import { mockConnectableRobot } from '../../../../redux/discovery/__fixtures__'
import { useRobot } from '../useRobot'

jest.mock('../../hooks')
jest.mock('../useProtocolRunAnalyticsData')
jest.mock('../../../../redux/discovery')
jest.mock('../../../../redux/pipettes')
jest.mock('../../../../redux/analytics')
jest.mock('../../../../redux/robot-settings')
jest.mock('../useRobot')

const mockUseTrackEvent = useTrackEvent as jest.MockedFunction<
typeof useTrackEvent
>
const mockUseRobot = useRobot as jest.MockedFunction<typeof useRobot>
const mockUseProtocolRunAnalyticsData = useProtocolRunAnalyticsData as jest.MockedFunction<
typeof useProtocolRunAnalyticsData
>
Expand Down Expand Up @@ -59,9 +55,8 @@ describe('useTrackProtocolRunEvent hook', () => {
)
)
mockUseTrackEvent.mockReturnValue(mockTrackEvent)
mockUseRobot.mockReturnValue(mockConnectableRobot)
when(mockUseProtocolRunAnalyticsData)
.calledWith(RUN_ID, mockConnectableRobot)
.calledWith(RUN_ID, ROBOT_NAME)
.mockReturnValue({
getProtocolRunAnalyticsData: mockGetProtocolRunAnalyticsData,
})
Expand Down Expand Up @@ -103,7 +98,7 @@ describe('useTrackProtocolRunEvent hook', () => {

it('trackProtocolRunEvent calls trackEvent without props when error is thrown in getProtocolRunAnalyticsData', async () => {
when(mockUseProtocolRunAnalyticsData)
.calledWith('errorId', mockConnectableRobot)
.calledWith('errorId', ROBOT_NAME)
.mockReturnValue({
getProtocolRunAnalyticsData: () =>
new Promise(() => {
Expand Down
14 changes: 9 additions & 5 deletions app/src/organisms/Devices/hooks/useProtocolRunAnalyticsData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ import { useSelector } from 'react-redux'
import { hash } from '../../../redux/analytics/hash'
import { getStoredProtocol } from '../../../redux/protocol-storage'
import { getRobotSerialNumber } from '../../../redux/discovery'
import { useStoredProtocolAnalysis, useProtocolDetailsForRun } from './'
import {
useRobot,
useStoredProtocolAnalysis,
useProtocolDetailsForRun,
} from './'
import { useProtocolMetadata } from './useProtocolMetadata'
import { useRunTimestamps } from '../../RunTimeControl/hooks'
import { formatInterval } from '../../RunTimeControl/utils'
Expand All @@ -13,19 +17,19 @@ import type { ProtocolAnalyticsData } from '../../../redux/analytics/types'
import type { StoredProtocolData } from '../../../redux/protocol-storage/types'
import type { ProtocolAnalysisOutput } from '@opentrons/shared-data'
import type { State } from '../../../redux/types'
import { DiscoveredRobot } from '../../../redux/discovery/types'

export const parseProtocolRunAnalyticsData = (
protocolAnalysis: ProtocolAnalysisOutput | null,
storedProtocol: StoredProtocolData | null,
startedAt: string | null,
robot: DiscoveredRobot | null
robotName: string
) => () => {
const hashTasks = [
hash(protocolAnalysis?.metadata?.author) ?? '',
hash(storedProtocol?.srcFiles?.toString() ?? '') ?? '',
]

const robot = useRobot(robotName)
const serialNumber =
robot?.status != null ? getRobotSerialNumber(robot) : null

Expand Down Expand Up @@ -76,7 +80,7 @@ type GetProtocolRunAnalyticsData = () => Promise<{
*/
export function useProtocolRunAnalyticsData(
runId: string | null,
robot: DiscoveredRobot | null
robotName: string
): {
getProtocolRunAnalyticsData: GetProtocolRunAnalyticsData
} {
Expand Down Expand Up @@ -105,7 +109,7 @@ export function useProtocolRunAnalyticsData(
protocolAnalysis as ProtocolAnalysisOutput | null,
storedProtocol,
startedAt,
robot
robotName
)

return { getProtocolRunAnalyticsData }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { parseProtocolRunAnalyticsData } from './useProtocolRunAnalyticsData'
import { parseProtocolAnalysisOutput } from './useStoredProtocolAnalysis'

import type { StoredProtocolData } from '../../../redux/protocol-storage'
import { useRobot } from './useRobot'

type CreateProtocolRunEventName =
| 'createProtocolRecordRequest'
Expand All @@ -24,8 +23,6 @@ export function useTrackCreateProtocolRunEvent(
): { trackCreateProtocolRunEvent: TrackCreateProtocolRunEvent } {
const trackEvent = useTrackEvent()

const robot = useRobot(robotName)

const storedProtocolAnalysis = parseProtocolAnalysisOutput(
protocol?.mostRecentAnalysis ?? null
)
Expand All @@ -34,7 +31,7 @@ export function useTrackCreateProtocolRunEvent(
storedProtocolAnalysis,
protocol,
null,
robot
robotName
)

const trackCreateProtocolRunEvent: TrackCreateProtocolRunEvent = ({
Expand Down
4 changes: 1 addition & 3 deletions app/src/organisms/Devices/hooks/useTrackProtocolRunEvent.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { useTrackEvent } from '../../../redux/analytics'
import { useProtocolRunAnalyticsData } from './useProtocolRunAnalyticsData'
import { useRobot } from './useRobot'

interface ProtocolRunAnalyticsEvent {
name: string
Expand All @@ -16,10 +15,9 @@ export function useTrackProtocolRunEvent(
robotName: string
): { trackProtocolRunEvent: TrackProtocolRunEvent } {
const trackEvent = useTrackEvent()
const robot = useRobot(robotName)
const { getProtocolRunAnalyticsData } = useProtocolRunAnalyticsData(
runId,
robot
robotName
)

const trackProtocolRunEvent: TrackProtocolRunEvent = ({
Expand Down

0 comments on commit 5e588d1

Please sign in to comment.