Separate system operations from core objects in GraphQL endpoints (#12977)
Moves system-level operations (auth, billing, admin) to use the /metadata endpoint instead of /graphql. This cleans up the endpoint separation so /graphql is purely for core objects (Company, People, etc.) and /metadata handles all system operations. Part of prep work for webhook/API key core migration.
This commit is contained in:
@ -1,17 +1,16 @@
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { ReactNode } from 'react';
|
||||
import { RecoilRoot } from 'recoil';
|
||||
import { useCreateWorkspaceInvitation } from '@/workspace-invitation/hooks/useCreateWorkspaceInvitation';
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper';
|
||||
|
||||
const mutationSendInvitationsCallSpy = jest.fn();
|
||||
|
||||
jest.mock('~/generated/graphql', () => ({
|
||||
jest.mock('~/generated-metadata/graphql', () => ({
|
||||
useSendInvitationsMutation: () => [mutationSendInvitationsCallSpy],
|
||||
}));
|
||||
|
||||
const Wrapper = ({ children }: { children: ReactNode }) => (
|
||||
<RecoilRoot>{children}</RecoilRoot>
|
||||
);
|
||||
const Wrapper = getJestMetadataAndApolloMocksWrapper({
|
||||
apolloMocks: [],
|
||||
});
|
||||
|
||||
describe('useCreateWorkspaceInvitation', () => {
|
||||
afterEach(() => {
|
||||
@ -19,18 +18,18 @@ describe('useCreateWorkspaceInvitation', () => {
|
||||
});
|
||||
|
||||
it('Send invitations', async () => {
|
||||
const invitationParams = { emails: ['test@twenty.com'] };
|
||||
const params = { emails: ['test@test.com'] };
|
||||
renderHook(
|
||||
() => {
|
||||
const { sendInvitation } = useCreateWorkspaceInvitation();
|
||||
sendInvitation(invitationParams);
|
||||
sendInvitation(params);
|
||||
},
|
||||
{ wrapper: Wrapper },
|
||||
);
|
||||
|
||||
expect(mutationSendInvitationsCallSpy).toHaveBeenCalledWith({
|
||||
onCompleted: expect.any(Function),
|
||||
variables: invitationParams,
|
||||
variables: params,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -1,19 +1,18 @@
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { ReactNode } from 'react';
|
||||
import { RecoilRoot } from 'recoil';
|
||||
import { useDeleteWorkspaceInvitation } from '@/workspace-invitation/hooks/useDeleteWorkspaceInvitation';
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper';
|
||||
|
||||
const mutationDeleteWorspaceInvitationCallSpy = jest.fn();
|
||||
const mutationDeleteWorkspaceInvitationCallSpy = jest.fn();
|
||||
|
||||
jest.mock('~/generated/graphql', () => ({
|
||||
jest.mock('~/generated-metadata/graphql', () => ({
|
||||
useDeleteWorkspaceInvitationMutation: () => [
|
||||
mutationDeleteWorspaceInvitationCallSpy,
|
||||
mutationDeleteWorkspaceInvitationCallSpy,
|
||||
],
|
||||
}));
|
||||
|
||||
const Wrapper = ({ children }: { children: ReactNode }) => (
|
||||
<RecoilRoot>{children}</RecoilRoot>
|
||||
);
|
||||
const Wrapper = getJestMetadataAndApolloMocksWrapper({
|
||||
apolloMocks: [],
|
||||
});
|
||||
|
||||
describe('useDeleteWorkspaceInvitation', () => {
|
||||
afterEach(() => {
|
||||
@ -30,7 +29,7 @@ describe('useDeleteWorkspaceInvitation', () => {
|
||||
{ wrapper: Wrapper },
|
||||
);
|
||||
|
||||
expect(mutationDeleteWorspaceInvitationCallSpy).toHaveBeenCalledWith({
|
||||
expect(mutationDeleteWorkspaceInvitationCallSpy).toHaveBeenCalledWith({
|
||||
onCompleted: expect.any(Function),
|
||||
variables: params,
|
||||
});
|
||||
|
||||
@ -1,19 +1,18 @@
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { ReactNode } from 'react';
|
||||
import { RecoilRoot } from 'recoil';
|
||||
import { useResendWorkspaceInvitation } from '@/workspace-invitation/hooks/useResendWorkspaceInvitation';
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper';
|
||||
|
||||
const mutationResendWorspaceInvitationCallSpy = jest.fn();
|
||||
|
||||
jest.mock('~/generated/graphql', () => ({
|
||||
jest.mock('~/generated-metadata/graphql', () => ({
|
||||
useResendWorkspaceInvitationMutation: () => [
|
||||
mutationResendWorspaceInvitationCallSpy,
|
||||
],
|
||||
}));
|
||||
|
||||
const Wrapper = ({ children }: { children: ReactNode }) => (
|
||||
<RecoilRoot>{children}</RecoilRoot>
|
||||
);
|
||||
const Wrapper = getJestMetadataAndApolloMocksWrapper({
|
||||
apolloMocks: [],
|
||||
});
|
||||
|
||||
describe('useResendWorkspaceInvitation', () => {
|
||||
afterEach(() => {
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { useSetRecoilState } from 'recoil';
|
||||
import {
|
||||
useSendInvitationsMutation,
|
||||
SendInvitationsMutationVariables,
|
||||
} from '~/generated/graphql';
|
||||
useSendInvitationsMutation,
|
||||
} from '~/generated-metadata/graphql';
|
||||
import { workspaceInvitationsState } from '../states/workspaceInvitationsStates';
|
||||
|
||||
export const useCreateWorkspaceInvitation = () => {
|
||||
|
||||
@ -2,7 +2,7 @@ import { useSetRecoilState } from 'recoil';
|
||||
import {
|
||||
DeleteWorkspaceInvitationMutationVariables,
|
||||
useDeleteWorkspaceInvitationMutation,
|
||||
} from '~/generated/graphql';
|
||||
} from '~/generated-metadata/graphql';
|
||||
import { workspaceInvitationsState } from '../states/workspaceInvitationsStates';
|
||||
|
||||
export const useDeleteWorkspaceInvitation = () => {
|
||||
|
||||
@ -2,7 +2,7 @@ import { useSetRecoilState } from 'recoil';
|
||||
import {
|
||||
ResendWorkspaceInvitationMutationVariables,
|
||||
useResendWorkspaceInvitationMutation,
|
||||
} from '~/generated/graphql';
|
||||
} from '~/generated-metadata/graphql';
|
||||
import { workspaceInvitationsState } from '../states/workspaceInvitationsStates';
|
||||
|
||||
export const useResendWorkspaceInvitation = () => {
|
||||
|
||||
Reference in New Issue
Block a user