All files / modules/70-pipeline/components/LogsContent/LogsState resetSectionData.ts

30% Statements 3/10
0% Branches 0/2
0% Functions 0/2
33.33% Lines 3/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23              34x 34x     34x                      
/*
 * Copyright 2021 Harness Inc. All rights reserved.
 * Use of this source code is governed by the PolyForm Shield 1.0.0 license
 * that can be found in the licenses directory at the root of this repository, also available at
 * https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt.
 */
 
import produce from 'immer'
import { get, set } from 'lodash-es'
import type { Action, ActionType, State } from './types'
 
export function resetSectionData(state: State, action: Action<ActionType.ResetSection>): State {
  const { payload } = action
  const unit = get(state, ['dataMap', payload])
 
  if (!unit) return state
 
  return produce(state, draft => {
    set(draft.dataMap[payload], 'status', unit.unitStatus)
    set(draft.dataMap[payload], 'isOpen', false)
  })
}