Use Graphql types in FE and complete mappers removal (#348)

Fix Typescript build issues
This commit is contained in:
Charles Bochet
2023-06-21 10:52:00 -07:00
committed by GitHub
parent b179d1f1f0
commit 8a330b9746
35 changed files with 398 additions and 574 deletions

View File

@ -1,8 +1,20 @@
import { getOperationName } from '@apollo/client/utilities';
import { graphql } from 'msw';
import { GraphqlQueryCompany } from '@/companies/interfaces/company.interface';
import { GraphqlQueryPerson } from '@/people/interfaces/person.interface';
import { GraphqlQueryUser } from '@/users/interfaces/user.interface';
import { GET_COMPANIES } from '@/companies/services';
import { GET_PEOPLE, UPDATE_PERSON } from '@/people/services';
import {
SEARCH_COMPANY_QUERY,
SEARCH_USER_QUERY,
} from '@/search/services/search';
import { GET_CURRENT_USER } from '@/users/services';
import {
GetCompaniesQuery,
GetPeopleQuery,
GetUsersQuery,
SearchCompanyQuery,
SearchUserQuery,
} from '~/generated/graphql';
import { mockedCompaniesData } from './mock-data/companies';
import { mockedPeopleData } from './mock-data/people';
@ -10,8 +22,10 @@ import { mockedUsersData } from './mock-data/users';
import { filterAndSortData, updateOneFromData } from './mock-data';
export const graphqlMocks = [
graphql.query('GetCompanies', (req, res, ctx) => {
const returnedMockedData = filterAndSortData<GraphqlQueryCompany>(
graphql.query(getOperationName(GET_COMPANIES) ?? '', (req, res, ctx) => {
const returnedMockedData = filterAndSortData<
GetCompaniesQuery['companies'][0]
>(
mockedCompaniesData,
req.variables.where,
req.variables.orderBy,
@ -23,21 +37,28 @@ export const graphqlMocks = [
}),
);
}),
graphql.query('SearchCompany', (req, res, ctx) => {
const returnedMockedData = filterAndSortData<GraphqlQueryCompany>(
mockedCompaniesData,
req.variables.where,
req.variables.orderBy,
req.variables.limit,
);
return res(
ctx.data({
searchResults: returnedMockedData,
}),
);
}),
graphql.query('SearchUser', (req, res, ctx) => {
const returnedMockedData = filterAndSortData<GraphqlQueryUser>(
graphql.query(
getOperationName(SEARCH_COMPANY_QUERY) ?? '',
(req, res, ctx) => {
const returnedMockedData = filterAndSortData<
SearchCompanyQuery['searchResults'][0]
>(
mockedCompaniesData,
req.variables.where,
req.variables.orderBy,
req.variables.limit,
);
return res(
ctx.data({
searchResults: returnedMockedData,
}),
);
},
),
graphql.query(getOperationName(SEARCH_USER_QUERY) ?? '', (req, res, ctx) => {
const returnedMockedData = filterAndSortData<
SearchUserQuery['searchResults'][0]
>(
mockedUsersData,
req.variables.where,
req.variables.orderBy,
@ -49,7 +70,7 @@ export const graphqlMocks = [
}),
);
}),
graphql.query('GetCurrentUser', (req, res, ctx) => {
graphql.query(getOperationName(GET_CURRENT_USER) ?? '', (req, res, ctx) => {
const customWhere = {
...req.variables.where,
id: {
@ -57,20 +78,17 @@ export const graphqlMocks = [
},
};
const returnedMockedData = filterAndSortData<GraphqlQueryUser>(
mockedUsersData,
customWhere,
req.variables.orderBy,
req.variables.limit,
);
const returnedMockedData = filterAndSortData<
GetUsersQuery['findManyUser'][0]
>(mockedUsersData, customWhere, req.variables.orderBy, req.variables.limit);
return res(
ctx.data({
users: returnedMockedData,
}),
);
}),
graphql.query('GetPeople', (req, res, ctx) => {
const returnedMockedData = filterAndSortData<GraphqlQueryPerson>(
graphql.query(getOperationName(GET_PEOPLE) ?? '', (req, res, ctx) => {
const returnedMockedData = filterAndSortData<GetPeopleQuery['people'][0]>(
mockedPeopleData,
req.variables.where,
req.variables.orderBy,
@ -82,7 +100,7 @@ export const graphqlMocks = [
}),
);
}),
graphql.mutation('UpdatePeople', (req, res, ctx) => {
graphql.mutation(getOperationName(UPDATE_PERSON) ?? '', (req, res, ctx) => {
return res(
ctx.data({
updateOnePerson: updateOneFromData(