import cs from 'classnames' import _ from 'lodash' import { observer } from 'mobx-react' import React from 'react' import { FileDetails } from '@packages/ui-components' import appState, { AppState } from '../lib/app-state' import Command from '../commands/command' import Collapsible from '../collapsible/collapsible' import HookModel, { HookName } from './hook-model' import FileOpener from '../lib/file-opener' export interface HookHeaderProps { model: HookModel number?: number } const HookHeader = ({ model, number }: HookHeaderProps) => ( {model.hookName} {number && `(${number})`} (failed) ) export interface HookOpenInIDEProps { invocationDetails: FileDetails } const HookOpenInIDE = ({ invocationDetails }: HookOpenInIDEProps) => ( Open in IDE ) const StudioNoCommands = () => (
  • Interact with your site to add test commands. Right click to add assertions.
  • ) export interface HookProps { model: HookModel showNumber: boolean } const Hook = observer(({ model, showNumber }: HookProps) => (
  • } headerClass='hook-header' headerExtras={model.invocationDetails && } isOpen={true} >
      {_.map(model.commands, (command) => )} {model.showStudioPrompt && }
  • )) export interface HooksModel { hooks: HookModel[] hookCount: { [name in HookName]: number } state: string } export interface HooksProps { state?: AppState model: HooksModel } const Hooks = observer(({ state = appState, model }: HooksProps) => ( )) export { Hook, HookHeader } export default Hooks