All files / app/assets/javascripts/packages_and_registries/settings/project/graphql/utils cache_update.js

100% Statements 7/7
100% Branches 0/0
100% Functions 3/3
100% Lines 6/6

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      10x 8x       8x   8x 8x           8x          
import { produce } from 'immer';
import expirationPolicyQuery from '../queries/get_expiration_policy.query.graphql';
 
export const updateContainerExpirationPolicy = (projectPath) => (client, { data: updatedData }) => {
  const queryAndParams = {
    query: expirationPolicyQuery,
    variables: { projectPath },
  };
  const sourceData = client.readQuery(queryAndParams);
 
  const data = produce(sourceData, (draftState) => {
    draftState.project.containerExpirationPolicy = {
      ...draftState.project.containerExpirationPolicy,
      ...updatedData.updateContainerExpirationPolicy.containerExpirationPolicy,
    };
  });
 
  client.writeQuery({
    ...queryAndParams,
    data,
  });
};