refactor: changed the test cases to reflect change to UserHistory schema
This commit is contained in:
@@ -0,0 +1,10 @@
|
|||||||
|
/*
|
||||||
|
Warnings:
|
||||||
|
|
||||||
|
- You are about to drop the column `type` on the `UserHistory` table. All the data in the column will be lost.
|
||||||
|
- Added the required column `reqType` to the `UserHistory` table without a default value. This is not possible if the table is not empty.
|
||||||
|
|
||||||
|
*/
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "UserHistory" DROP COLUMN "type",
|
||||||
|
ADD COLUMN "reqType" "ReqType" NOT NULL;
|
||||||
@@ -91,7 +91,7 @@ model UserHistory {
|
|||||||
id String @id @default(cuid())
|
id String @id @default(cuid())
|
||||||
userUid String
|
userUid String
|
||||||
user User @relation(fields: [userUid], references: [uid], onDelete: Cascade)
|
user User @relation(fields: [userUid], references: [uid], onDelete: Cascade)
|
||||||
type ReqType
|
reqType ReqType
|
||||||
request Json
|
request Json
|
||||||
responseMetadata Json
|
responseMetadata Json
|
||||||
isStarred Boolean
|
isStarred Boolean
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
USER_HISTORY_INVALID_REQ_TYPE,
|
USER_HISTORY_INVALID_REQ_TYPE,
|
||||||
USER_HISTORY_NOT_FOUND,
|
USER_HISTORY_NOT_FOUND,
|
||||||
} from '../errors';
|
} from '../errors';
|
||||||
|
import { ReqType as DBReqType } from '@prisma/client';
|
||||||
|
|
||||||
const mockPrisma = mockDeep<PrismaService>();
|
const mockPrisma = mockDeep<PrismaService>();
|
||||||
const mockPubSub = mockDeep<PubSubService>();
|
const mockPubSub = mockDeep<PubSubService>();
|
||||||
@@ -33,7 +34,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: executedOn,
|
executedOn: executedOn,
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
},
|
},
|
||||||
@@ -42,7 +43,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '2',
|
id: '2',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: executedOn,
|
executedOn: executedOn,
|
||||||
isStarred: true,
|
isStarred: true,
|
||||||
},
|
},
|
||||||
@@ -68,6 +69,7 @@ describe('UserHistoryService', () => {
|
|||||||
isStarred: true,
|
isStarred: true,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
return expect(
|
return expect(
|
||||||
await userHistoryService.fetchUserHistory('abc', ReqType.REST),
|
await userHistoryService.fetchUserHistory('abc', ReqType.REST),
|
||||||
).toEqual(userHistory);
|
).toEqual(userHistory);
|
||||||
@@ -80,7 +82,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.GQL,
|
reqType: ReqType.GQL,
|
||||||
executedOn: executedOn,
|
executedOn: executedOn,
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
},
|
},
|
||||||
@@ -89,7 +91,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '2',
|
id: '2',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.GQL,
|
reqType: ReqType.GQL,
|
||||||
executedOn: executedOn,
|
executedOn: executedOn,
|
||||||
isStarred: true,
|
isStarred: true,
|
||||||
},
|
},
|
||||||
@@ -138,13 +140,12 @@ describe('UserHistoryService', () => {
|
|||||||
});
|
});
|
||||||
describe('createUserHistory', () => {
|
describe('createUserHistory', () => {
|
||||||
test('Should resolve right and create a REST request to users history and return a `UserHistory` object', async () => {
|
test('Should resolve right and create a REST request to users history and return a `UserHistory` object', async () => {
|
||||||
userHistoryService.validateReqType('REST');
|
|
||||||
mockPrisma.userHistory.create.mockResolvedValueOnce({
|
mockPrisma.userHistory.create.mockResolvedValueOnce({
|
||||||
userUid: 'abc',
|
userUid: 'abc',
|
||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
});
|
});
|
||||||
@@ -169,13 +170,12 @@ describe('UserHistoryService', () => {
|
|||||||
).toEqualRight(userHistory);
|
).toEqualRight(userHistory);
|
||||||
});
|
});
|
||||||
test('Should resolve right and create a GQL request to users history and return a `UserHistory` object', async () => {
|
test('Should resolve right and create a GQL request to users history and return a `UserHistory` object', async () => {
|
||||||
userHistoryService.validateReqType('GQL');
|
|
||||||
mockPrisma.userHistory.create.mockResolvedValueOnce({
|
mockPrisma.userHistory.create.mockResolvedValueOnce({
|
||||||
userUid: 'abc',
|
userUid: 'abc',
|
||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.GQL,
|
reqType: ReqType.GQL,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
});
|
});
|
||||||
@@ -200,7 +200,6 @@ describe('UserHistoryService', () => {
|
|||||||
).toEqualRight(userHistory);
|
).toEqualRight(userHistory);
|
||||||
});
|
});
|
||||||
test('Should resolve left when invalid ReqType is passed', async () => {
|
test('Should resolve left when invalid ReqType is passed', async () => {
|
||||||
userHistoryService.validateReqType('INVALID');
|
|
||||||
return expect(
|
return expect(
|
||||||
await userHistoryService.createUserHistory(
|
await userHistoryService.createUserHistory(
|
||||||
'abc',
|
'abc',
|
||||||
@@ -211,13 +210,12 @@ describe('UserHistoryService', () => {
|
|||||||
).toEqualLeft(USER_HISTORY_INVALID_REQ_TYPE);
|
).toEqualLeft(USER_HISTORY_INVALID_REQ_TYPE);
|
||||||
});
|
});
|
||||||
test('Should create a GQL request to users history and publish a created subscription', async () => {
|
test('Should create a GQL request to users history and publish a created subscription', async () => {
|
||||||
userHistoryService.validateReqType('GQL');
|
|
||||||
mockPrisma.userHistory.create.mockResolvedValueOnce({
|
mockPrisma.userHistory.create.mockResolvedValueOnce({
|
||||||
userUid: 'abc',
|
userUid: 'abc',
|
||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.GQL,
|
reqType: ReqType.GQL,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
});
|
});
|
||||||
@@ -245,13 +243,12 @@ describe('UserHistoryService', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
test('Should create a REST request to users history and publish a created subscription', async () => {
|
test('Should create a REST request to users history and publish a created subscription', async () => {
|
||||||
userHistoryService.validateReqType('REST');
|
|
||||||
mockPrisma.userHistory.create.mockResolvedValueOnce({
|
mockPrisma.userHistory.create.mockResolvedValueOnce({
|
||||||
userUid: 'abc',
|
userUid: 'abc',
|
||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
});
|
});
|
||||||
@@ -286,7 +283,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
});
|
});
|
||||||
@@ -296,7 +293,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: true,
|
isStarred: true,
|
||||||
});
|
});
|
||||||
@@ -328,7 +325,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
});
|
});
|
||||||
@@ -338,7 +335,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: true,
|
isStarred: true,
|
||||||
});
|
});
|
||||||
@@ -367,7 +364,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
});
|
});
|
||||||
@@ -399,7 +396,7 @@ describe('UserHistoryService', () => {
|
|||||||
id: '1',
|
id: '1',
|
||||||
request: [{}],
|
request: [{}],
|
||||||
responseMetadata: [{}],
|
responseMetadata: [{}],
|
||||||
type: ReqType.REST,
|
reqType: ReqType.REST,
|
||||||
executedOn: new Date(),
|
executedOn: new Date(),
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
});
|
});
|
||||||
@@ -424,7 +421,6 @@ describe('UserHistoryService', () => {
|
|||||||
});
|
});
|
||||||
describe('deleteAllUserHistory', () => {
|
describe('deleteAllUserHistory', () => {
|
||||||
test('Should resolve right and delete all user REST history for a request type', async () => {
|
test('Should resolve right and delete all user REST history for a request type', async () => {
|
||||||
userHistoryService.validateReqType('REST');
|
|
||||||
mockPrisma.userHistory.deleteMany.mockResolvedValueOnce({
|
mockPrisma.userHistory.deleteMany.mockResolvedValueOnce({
|
||||||
count: 2,
|
count: 2,
|
||||||
});
|
});
|
||||||
@@ -434,7 +430,6 @@ describe('UserHistoryService', () => {
|
|||||||
).toEqualRight(2);
|
).toEqualRight(2);
|
||||||
});
|
});
|
||||||
test('Should resolve right and delete all user GQL history for a request type', async () => {
|
test('Should resolve right and delete all user GQL history for a request type', async () => {
|
||||||
userHistoryService.validateReqType('GQL');
|
|
||||||
mockPrisma.userHistory.deleteMany.mockResolvedValueOnce({
|
mockPrisma.userHistory.deleteMany.mockResolvedValueOnce({
|
||||||
count: 2,
|
count: 2,
|
||||||
});
|
});
|
||||||
@@ -444,14 +439,11 @@ describe('UserHistoryService', () => {
|
|||||||
).toEqualRight(2);
|
).toEqualRight(2);
|
||||||
});
|
});
|
||||||
test('Should resolve left and error when ReqType is invalid', async () => {
|
test('Should resolve left and error when ReqType is invalid', async () => {
|
||||||
userHistoryService.validateReqType('INVALID');
|
|
||||||
|
|
||||||
return expect(
|
return expect(
|
||||||
await userHistoryService.deleteAllUserHistory('abc', 'INVALID'),
|
await userHistoryService.deleteAllUserHistory('abc', 'INVALID'),
|
||||||
).toEqualLeft(USER_HISTORY_INVALID_REQ_TYPE);
|
).toEqualLeft(USER_HISTORY_INVALID_REQ_TYPE);
|
||||||
});
|
});
|
||||||
test('Should delete all user REST history for a request type and publish deleted many subscription', async () => {
|
test('Should delete all user REST history for a request type and publish deleted many subscription', async () => {
|
||||||
userHistoryService.validateReqType('REST');
|
|
||||||
mockPrisma.userHistory.deleteMany.mockResolvedValueOnce({
|
mockPrisma.userHistory.deleteMany.mockResolvedValueOnce({
|
||||||
count: 2,
|
count: 2,
|
||||||
});
|
});
|
||||||
@@ -463,7 +455,6 @@ describe('UserHistoryService', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
test('Should delete all user GQL history for a request type and publish deleted many subscription', async () => {
|
test('Should delete all user GQL history for a request type and publish deleted many subscription', async () => {
|
||||||
userHistoryService.validateReqType('GQL');
|
|
||||||
mockPrisma.userHistory.deleteMany.mockResolvedValueOnce({
|
mockPrisma.userHistory.deleteMany.mockResolvedValueOnce({
|
||||||
count: 2,
|
count: 2,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export class UserHistoryService {
|
|||||||
const userHistory = await this.prisma.userHistory.findMany({
|
const userHistory = await this.prisma.userHistory.findMany({
|
||||||
where: {
|
where: {
|
||||||
userUid: uid,
|
userUid: uid,
|
||||||
type: reqType,
|
reqType: reqType,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -33,7 +33,6 @@ export class UserHistoryService {
|
|||||||
(history) =>
|
(history) =>
|
||||||
<UserHistory>{
|
<UserHistory>{
|
||||||
...history,
|
...history,
|
||||||
reqType: history.type,
|
|
||||||
request: JSON.stringify(history.request),
|
request: JSON.stringify(history.request),
|
||||||
responseMetadata: JSON.stringify(history.responseMetadata),
|
responseMetadata: JSON.stringify(history.responseMetadata),
|
||||||
},
|
},
|
||||||
@@ -64,14 +63,13 @@ export class UserHistoryService {
|
|||||||
userUid: uid,
|
userUid: uid,
|
||||||
request: JSON.parse(reqData),
|
request: JSON.parse(reqData),
|
||||||
responseMetadata: JSON.parse(resMetadata),
|
responseMetadata: JSON.parse(resMetadata),
|
||||||
type: requestType.right,
|
reqType: requestType.right,
|
||||||
isStarred: false,
|
isStarred: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const userHistory = <UserHistory>{
|
const userHistory = <UserHistory>{
|
||||||
...history,
|
...history,
|
||||||
reqType: history.type,
|
|
||||||
request: JSON.stringify(history.request),
|
request: JSON.stringify(history.request),
|
||||||
responseMetadata: JSON.stringify(history.responseMetadata),
|
responseMetadata: JSON.stringify(history.responseMetadata),
|
||||||
};
|
};
|
||||||
@@ -113,7 +111,6 @@ export class UserHistoryService {
|
|||||||
|
|
||||||
const updatedUserHistory = <UserHistory>{
|
const updatedUserHistory = <UserHistory>{
|
||||||
...updatedHistory,
|
...updatedHistory,
|
||||||
reqType: updatedHistory.type,
|
|
||||||
request: JSON.stringify(updatedHistory.request),
|
request: JSON.stringify(updatedHistory.request),
|
||||||
responseMetadata: JSON.stringify(updatedHistory.responseMetadata),
|
responseMetadata: JSON.stringify(updatedHistory.responseMetadata),
|
||||||
};
|
};
|
||||||
@@ -145,7 +142,6 @@ export class UserHistoryService {
|
|||||||
|
|
||||||
const deletedUserHistory = <UserHistory>{
|
const deletedUserHistory = <UserHistory>{
|
||||||
...delUserHistory,
|
...delUserHistory,
|
||||||
reqType: delUserHistory.type,
|
|
||||||
request: JSON.stringify(delUserHistory.request),
|
request: JSON.stringify(delUserHistory.request),
|
||||||
responseMetadata: JSON.stringify(delUserHistory.responseMetadata),
|
responseMetadata: JSON.stringify(delUserHistory.responseMetadata),
|
||||||
};
|
};
|
||||||
@@ -174,7 +170,7 @@ export class UserHistoryService {
|
|||||||
const deletedCount = await this.prisma.userHistory.deleteMany({
|
const deletedCount = await this.prisma.userHistory.deleteMany({
|
||||||
where: {
|
where: {
|
||||||
userUid: uid,
|
userUid: uid,
|
||||||
type: requestType.right,
|
reqType: requestType.right,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user