mirror of
https://github.com/toeverything/AFFiNE.git
synced 2024-12-22 20:41:53 +03:00
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import type { INestApplication } from '@nestjs/common';
|
|
import test from 'ava';
|
|
import request from 'supertest';
|
|
|
|
import { AppModule } from '../src/app.module';
|
|
import { createTestingApp, currentUser, signUp } from './utils';
|
|
|
|
let app: INestApplication;
|
|
|
|
test.beforeEach(async () => {
|
|
const { app: testApp } = await createTestingApp({
|
|
imports: [AppModule],
|
|
});
|
|
app = testApp;
|
|
});
|
|
|
|
test.afterEach.always(async () => {
|
|
await app.close();
|
|
});
|
|
|
|
test('should register a user', async t => {
|
|
const user = await signUp(app, 'u1', 'u1@affine.pro', '123456');
|
|
t.is(typeof user.id, 'string', 'user.id is not a string');
|
|
t.is(user.name, 'u1', 'user.name is not valid');
|
|
t.is(user.email, 'u1@affine.pro', 'user.email is not valid');
|
|
});
|
|
|
|
test('should get current user', async t => {
|
|
const user = await signUp(app, 'u1', 'u1@affine.pro', '123456');
|
|
const currUser = await currentUser(app, user.token.token);
|
|
t.is(currUser.id, user.id, 'user.id is not valid');
|
|
t.is(currUser.name, user.name, 'user.name is not valid');
|
|
t.is(currUser.email, user.email, 'user.email is not valid');
|
|
t.true(currUser.hasPassword, 'currUser.hasPassword is not valid');
|
|
});
|
|
|
|
test('should be able to delete user', async t => {
|
|
const user = await signUp(app, 'u1', 'u1@affine.pro', '123456');
|
|
await request(app.getHttpServer())
|
|
.post('/graphql')
|
|
.auth(user.token.token, { type: 'bearer' })
|
|
.send({
|
|
query: `
|
|
mutation {
|
|
deleteAccount {
|
|
success
|
|
}
|
|
}
|
|
`,
|
|
})
|
|
.expect(200);
|
|
t.is(await currentUser(app, user.token.token), null);
|
|
t.pass();
|
|
});
|