All files / src/api/updateCart index.ts

100% Statements 13/13
75% Branches 3/4
100% Functions 2/2
100% Lines 11/11

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 24 25 26 27 28 29 30 31 32 33 34 35 36 37  1x 1x 1x 1x               2x 2x 2x               2x   2x               2x     1x  
import { CartUpdateAction, MyCartUpdateAction } from '../../types/GraphQL';
import { apolloClient, getSettings } from '../../index';
import defaultQuery from './defaultMutation';
import gql from 'graphql-tag';
import { getCustomQuery } from './../../helpers/queries';
 
interface UpdateCart {
  id: string;
  version: number;
  actions: CartUpdateAction[] | MyCartUpdateAction[];
}
 
const updateCart = async (params: UpdateCart, customQueryFn?) => {
  const { locale, acceptLanguage } = getSettings();
  const defaultVariables = params
    ? {
      locale,
      acceptLanguage,
      ...params
    }
    : { acceptLanguage };
 
  const { query, variables } = getCustomQuery(customQueryFn, { defaultQuery, defaultVariables });
 
  const request = await apolloClient.mutate({
    mutation: gql`
      ${query}
    `,
    variables,
    fetchPolicy: 'no-cache'
  });
 
  return request;
};
 
export default updateCart;