Skip to content

Commit

Permalink
[NOREF] GQL Update: TRB Assign Lead Mutation (#2751)
Browse files Browse the repository at this point in the history
Update mutation for assigning a TRB lead to use new GQL
  • Loading branch information
ClayBenson94 committed Aug 7, 2024
1 parent 09d08df commit 43944b3
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 57 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { gql } from '@apollo/client';

export default gql`
export default gql(/* GraphQL */ `
mutation UpdateTrbRequestLead($input: UpdateTRBRequestTRBLeadInput!) {
updateTRBRequestTRBLead(input: $input) {
id
Expand All @@ -12,4 +12,4 @@ export default gql`
}
}
}
`;
`);
49 changes: 48 additions & 1 deletion src/gql/gen/graphql.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3103,6 +3103,13 @@ export type UpdateTrbRequestFormStatusMutationVariables = Exact<{

export type UpdateTrbRequestFormStatusMutation = { __typename: 'Mutation', updateTRBRequestForm: { __typename: 'TRBRequestForm', status: TrbFormStatus } };

export type UpdateTrbRequestLeadMutationVariables = Exact<{
input: UpdateTrbRequestTrbLeadInput;
}>;


export type UpdateTrbRequestLeadMutation = { __typename: 'Mutation', updateTRBRequestTRBLead: { __typename: 'TRBRequest', id: UUID, trbLead?: string | null, trbLeadInfo: { __typename: 'UserInfo', commonName: string, email: EmailAddress, euaUserId: string } } };

export const SystemIntakeWithReviewRequestedFragmentDoc = gql`
fragment SystemIntakeWithReviewRequested on SystemIntake {
id
Expand Down Expand Up @@ -3227,7 +3234,47 @@ export function useUpdateTrbRequestFormStatusMutation(baseOptions?: Apollo.Mutat
export type UpdateTrbRequestFormStatusMutationHookResult = ReturnType<typeof useUpdateTrbRequestFormStatusMutation>;
export type UpdateTrbRequestFormStatusMutationResult = Apollo.MutationResult<UpdateTrbRequestFormStatusMutation>;
export type UpdateTrbRequestFormStatusMutationOptions = Apollo.BaseMutationOptions<UpdateTrbRequestFormStatusMutation, UpdateTrbRequestFormStatusMutationVariables>;
export const UpdateTrbRequestLeadDocument = gql`
mutation UpdateTrbRequestLead($input: UpdateTRBRequestTRBLeadInput!) {
updateTRBRequestTRBLead(input: $input) {
id
trbLead
trbLeadInfo {
commonName
email
euaUserId
}
}
}
`;
export type UpdateTrbRequestLeadMutationFn = Apollo.MutationFunction<UpdateTrbRequestLeadMutation, UpdateTrbRequestLeadMutationVariables>;

/**
* __useUpdateTrbRequestLeadMutation__
*
* To run a mutation, you first call `useUpdateTrbRequestLeadMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useUpdateTrbRequestLeadMutation` returns a tuple that includes:
* - A mutate function that you can call at any time to execute the mutation
* - An object with fields that represent the current status of the mutation's execution
*
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
*
* @example
* const [updateTrbRequestLeadMutation, { data, loading, error }] = useUpdateTrbRequestLeadMutation({
* variables: {
* input: // value for 'input'
* },
* });
*/
export function useUpdateTrbRequestLeadMutation(baseOptions?: Apollo.MutationHookOptions<UpdateTrbRequestLeadMutation, UpdateTrbRequestLeadMutationVariables>) {
const options = {...defaultOptions, ...baseOptions}
return Apollo.useMutation<UpdateTrbRequestLeadMutation, UpdateTrbRequestLeadMutationVariables>(UpdateTrbRequestLeadDocument, options);
}
export type UpdateTrbRequestLeadMutationHookResult = ReturnType<typeof useUpdateTrbRequestLeadMutation>;
export type UpdateTrbRequestLeadMutationResult = Apollo.MutationResult<UpdateTrbRequestLeadMutation>;
export type UpdateTrbRequestLeadMutationOptions = Apollo.BaseMutationOptions<UpdateTrbRequestLeadMutation, UpdateTrbRequestLeadMutationVariables>;
export const TypedSystemIntakeWithReviewRequestedFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SystemIntakeWithReviewRequested"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SystemIntake"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"requestName"}},{"kind":"Field","name":{"kind":"Name","value":"requesterName"}},{"kind":"Field","name":{"kind":"Name","value":"requesterComponent"}},{"kind":"Field","name":{"kind":"Name","value":"grbDate"}}]}}]} as unknown as DocumentNode<SystemIntakeWithReviewRequestedFragment, unknown>;
export const TypedGetSystemIntakesWithReviewRequestedDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetSystemIntakesWithReviewRequested"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"systemIntakesWithReviewRequested"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SystemIntakeWithReviewRequested"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SystemIntakeWithReviewRequested"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SystemIntake"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"requestName"}},{"kind":"Field","name":{"kind":"Name","value":"requesterName"}},{"kind":"Field","name":{"kind":"Name","value":"requesterComponent"}},{"kind":"Field","name":{"kind":"Name","value":"grbDate"}}]}}]} as unknown as DocumentNode<GetSystemIntakesWithReviewRequestedQuery, GetSystemIntakesWithReviewRequestedQueryVariables>;
export const TypedGetTrbLeadOptionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTrbLeadOptions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"trbLeadOptions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"euaUserId"}},{"kind":"Field","name":{"kind":"Name","value":"commonName"}}]}}]}}]} as unknown as DocumentNode<GetTrbLeadOptionsQuery, GetTrbLeadOptionsQueryVariables>;
export const TypedUpdateTrbRequestFormStatusDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateTrbRequestFormStatus"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"isSubmitted"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"trbRequestId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateTRBRequestForm"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"isSubmitted"},"value":{"kind":"Variable","name":{"kind":"Name","value":"isSubmitted"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"trbRequestId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"trbRequestId"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]}}]} as unknown as DocumentNode<UpdateTrbRequestFormStatusMutation, UpdateTrbRequestFormStatusMutationVariables>;
export const TypedUpdateTrbRequestFormStatusDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateTrbRequestFormStatus"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"isSubmitted"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"trbRequestId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateTRBRequestForm"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"isSubmitted"},"value":{"kind":"Variable","name":{"kind":"Name","value":"isSubmitted"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"trbRequestId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"trbRequestId"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]}}]} as unknown as DocumentNode<UpdateTrbRequestFormStatusMutation, UpdateTrbRequestFormStatusMutationVariables>;
export const TypedUpdateTrbRequestLeadDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateTrbRequestLead"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateTRBRequestTRBLeadInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateTRBRequestTRBLead"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"trbLead"}},{"kind":"Field","name":{"kind":"Name","value":"trbLeadInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"commonName"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"euaUserId"}}]}}]}}]}}]} as unknown as DocumentNode<UpdateTrbRequestLeadMutation, UpdateTrbRequestLeadMutationVariables>;
32 changes: 0 additions & 32 deletions src/queries/types/UpdateTrbRequestLead.ts

This file was deleted.

23 changes: 12 additions & 11 deletions src/views/TechnicalAssistance/AdminHome/TrbAssignLeadModal.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ import { MockedProvider } from '@apollo/client/testing';
import { render } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { ModalRef } from '@trussworks/react-uswds';
import {
UpdateTrbRequestLeadDocument,
UpdateTrbRequestLeadMutation,
UpdateTrbRequestLeadMutationVariables
} from 'gql/gen/graphql';
import i18next from 'i18next';

import { getTrbLeadOptionsQuery, trbLeadOptions } from 'data/mock/trbRequest';
import { MessageProvider } from 'hooks/useMessage';
import {
UpdateTrbRequestLead,
UpdateTrbRequestLeadVariables
} from 'queries/types/UpdateTrbRequestLead';
import UpdateTrbRequestLeadQuery from 'queries/UpdateTrbRequestLeadQuery';
import { TrbRequestIdRef } from 'types/technicalAssistance';
import { MockedQuery } from 'types/util';
import easiMockStore from 'utils/testing/easiMockStore';
Expand All @@ -26,12 +26,12 @@ import TrbAssignLeadModal, {

const trbLeadInfo = trbLeadOptions[0];

const updateTrbRequestLeadQuery: MockedQuery<
UpdateTrbRequestLead,
UpdateTrbRequestLeadVariables
const updateTrbRequestLeadMutation: MockedQuery<
UpdateTrbRequestLeadMutation,
UpdateTrbRequestLeadMutationVariables
> = {
request: {
query: UpdateTrbRequestLeadQuery,
query: UpdateTrbRequestLeadDocument,
variables: {
input: {
trbRequestId: mockTrbRequestId,
Expand All @@ -41,6 +41,7 @@ const updateTrbRequestLeadQuery: MockedQuery<
},
result: {
data: {
__typename: 'Mutation',
updateTRBRequestTRBLead: {
id: mockTrbRequestId,
trbLead: trbLeadInfo.euaUserId,
Expand Down Expand Up @@ -105,7 +106,7 @@ describe('TrbAssignLeadModal', () => {
const { findByText, getByRole, getByTestId } = render(
<Provider store={store}>
<MockedProvider
mocks={[getTrbLeadOptionsQuery, updateTrbRequestLeadQuery]}
mocks={[getTrbLeadOptionsQuery, updateTrbRequestLeadMutation]}
>
<MemoryRouter>
<MessageProvider>
Expand Down Expand Up @@ -163,7 +164,7 @@ describe('TrbAssignLeadModal', () => {
mocks={[
getTrbLeadOptionsQuery,
{
request: updateTrbRequestLeadQuery.request,
request: updateTrbRequestLeadMutation.request,
error: new Error()
}
]}
Expand Down
16 changes: 5 additions & 11 deletions src/views/TechnicalAssistance/AdminHome/TrbAssignLeadModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import React, { useEffect } from 'react';
import { Controller, useForm } from 'react-hook-form';
import { useTranslation } from 'react-i18next';
import { useSelector } from 'react-redux';
import { useMutation } from '@apollo/client';
import {
Button,
ButtonGroup,
Expand All @@ -17,14 +16,12 @@ import {
Radio
} from '@trussworks/react-uswds';
import classnames from 'classnames';
import { useGetTrbLeadOptionsQuery } from 'gql/gen/graphql';
import {
useGetTrbLeadOptionsQuery,
useUpdateTrbRequestLeadMutation
} from 'gql/gen/graphql';

import useMessage from 'hooks/useMessage';
import {
UpdateTrbRequestLead,
UpdateTrbRequestLeadVariables
} from 'queries/types/UpdateTrbRequestLead';
import UpdateTrbRequestLeadQuery from 'queries/UpdateTrbRequestLeadQuery';
import { AppState } from 'reducers/rootReducer';
import { TrbRequestIdRef } from 'types/technicalAssistance';

Expand Down Expand Up @@ -102,10 +99,7 @@ function TrbAssignLeadModal({

const { data } = useGetTrbLeadOptionsQuery();

const [mutate] = useMutation<
UpdateTrbRequestLead,
UpdateTrbRequestLeadVariables
>(UpdateTrbRequestLeadQuery);
const [mutate] = useUpdateTrbRequestLeadMutation();

const submit = handleSubmit(formData => {
if (!trbRequestIdRef.current) return;
Expand Down

0 comments on commit 43944b3

Please sign in to comment.