优化
This commit is contained in:
177
server/test/integration/user/dmlist.spec.ts
Normal file
177
server/test/integration/user/dmlist.spec.ts
Normal file
@@ -0,0 +1,177 @@
|
||||
import { createTestServiceBroker } from '../../utils';
|
||||
import UserDMListService from '../../../services/core/user/dmlist.service';
|
||||
import { Types } from 'mongoose';
|
||||
import type { UserDMList } from '../../../models/user/dmList';
|
||||
|
||||
describe('Test "dmlist" service', () => {
|
||||
const { broker, service, insertTestData } =
|
||||
createTestServiceBroker<UserDMListService>(UserDMListService);
|
||||
|
||||
describe('Test "user.dmlist.addConverse"', () => {
|
||||
test('addConverse should be ok', async () => {
|
||||
const userId = String(new Types.ObjectId());
|
||||
const converseId = String(new Types.ObjectId());
|
||||
|
||||
await broker.call(
|
||||
'user.dmlist.addConverse',
|
||||
{
|
||||
converseId,
|
||||
},
|
||||
{
|
||||
meta: {
|
||||
userId,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
try {
|
||||
const res = await service.adapter.model.findOne({
|
||||
userId,
|
||||
});
|
||||
|
||||
expect(res.converseIds.map((r) => String(r))).toEqual([converseId]); // 应该被成功插入
|
||||
} finally {
|
||||
await service.adapter.model.deleteOne({
|
||||
userId,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
test('addConverse should not be repeat', async () => {
|
||||
const userId = String(new Types.ObjectId());
|
||||
const converseId = String(new Types.ObjectId());
|
||||
|
||||
await broker.call(
|
||||
'user.dmlist.addConverse',
|
||||
{
|
||||
converseId,
|
||||
},
|
||||
{
|
||||
meta: {
|
||||
userId,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
await broker.call(
|
||||
'user.dmlist.addConverse',
|
||||
{
|
||||
converseId,
|
||||
},
|
||||
{
|
||||
meta: {
|
||||
userId,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
try {
|
||||
const res = await service.adapter.model.findOne({
|
||||
userId,
|
||||
});
|
||||
|
||||
expect(res.converseIds.map((r) => String(r))).toEqual([converseId]); // 应该被成功插入
|
||||
} finally {
|
||||
await service.adapter.model.deleteOne({
|
||||
userId,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
test('addConverse can be add more', async () => {
|
||||
const userId = String(new Types.ObjectId());
|
||||
const converseId = String(new Types.ObjectId());
|
||||
const converseId2 = String(new Types.ObjectId());
|
||||
|
||||
await broker.call(
|
||||
'user.dmlist.addConverse',
|
||||
{
|
||||
converseId,
|
||||
},
|
||||
{
|
||||
meta: {
|
||||
userId,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
await broker.call(
|
||||
'user.dmlist.addConverse',
|
||||
{
|
||||
converseId: converseId2,
|
||||
},
|
||||
{
|
||||
meta: {
|
||||
userId,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
try {
|
||||
const res = await service.adapter.model.findOne({
|
||||
userId,
|
||||
});
|
||||
|
||||
expect(res.converseIds.map((r) => String(r))).toEqual([
|
||||
converseId,
|
||||
converseId2,
|
||||
]);
|
||||
} finally {
|
||||
await service.adapter.model.deleteOne({
|
||||
userId,
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
test('Test "user.dmlist.removeConverse"', async () => {
|
||||
const userId = String(new Types.ObjectId());
|
||||
const converseId = new Types.ObjectId();
|
||||
|
||||
await insertTestData({
|
||||
userId,
|
||||
converseIds: [converseId],
|
||||
});
|
||||
|
||||
expect(
|
||||
(await service.adapter.model.findOne({ userId })).converseIds.length
|
||||
).toBe(1);
|
||||
|
||||
await broker.call(
|
||||
'user.dmlist.removeConverse',
|
||||
{
|
||||
converseId: String(converseId),
|
||||
},
|
||||
{
|
||||
meta: {
|
||||
userId,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
expect(
|
||||
(await service.adapter.model.findOne({ userId })).converseIds.length
|
||||
).toBe(0);
|
||||
});
|
||||
|
||||
test('Test "user.dmlist.getAllConverse"', async () => {
|
||||
const userId = String(new Types.ObjectId());
|
||||
|
||||
const testData = await insertTestData({
|
||||
userId,
|
||||
converseIds: [new Types.ObjectId()],
|
||||
});
|
||||
|
||||
const converseIds: UserDMList = await broker.call(
|
||||
'user.dmlist.getAllConverse',
|
||||
{},
|
||||
{
|
||||
meta: {
|
||||
userId,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
expect(converseIds).toEqual([...testData.converseIds]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user