forked from FoundKeyGang/FoundKey
Johann150
38786b6999
This allows to get rid of the special loader for ts files. There is no need for the test files to be written in TypeScript, plain JavaScript should be fine for this purpose.
83 lines
2 KiB
JavaScript
83 lines
2 KiB
JavaScript
process.env.NODE_ENV = 'test';
|
|
|
|
import * as assert from 'assert';
|
|
import * as childProcess from 'child_process';
|
|
import { async, signup, request, post, react, uploadFile, startServer, shutdownServer } from './utils.mjs';
|
|
|
|
describe('API', function() {
|
|
this.timeout(20*60*1000);
|
|
|
|
let p;
|
|
let alice, bob, carol;
|
|
|
|
before(async () => {
|
|
p = await startServer();
|
|
alice = await signup({ username: 'alice' });
|
|
bob = await signup({ username: 'bob' });
|
|
carol = await signup({ username: 'carol' });
|
|
});
|
|
|
|
after(async () => {
|
|
await shutdownServer(p);
|
|
});
|
|
|
|
describe('General validation', () => {
|
|
it('wrong type', async(async () => {
|
|
const res = await request('/test', {
|
|
required: true,
|
|
string: 42,
|
|
});
|
|
assert.strictEqual(res.status, 400);
|
|
}));
|
|
|
|
it('missing require param', async(async () => {
|
|
const res = await request('/test', {
|
|
string: 'a',
|
|
});
|
|
assert.strictEqual(res.status, 400);
|
|
}));
|
|
|
|
it('invalid misskey:id (empty string)', async(async () => {
|
|
const res = await request('/test', {
|
|
required: true,
|
|
id: '',
|
|
});
|
|
assert.strictEqual(res.status, 400);
|
|
}));
|
|
|
|
it('valid misskey:id', async(async () => {
|
|
const res = await request('/test', {
|
|
required: true,
|
|
id: '8wvhjghbxu',
|
|
});
|
|
assert.strictEqual(res.status, 200);
|
|
}));
|
|
|
|
it('default value', async(async () => {
|
|
const res = await request('/test', {
|
|
required: true,
|
|
string: 'a',
|
|
});
|
|
assert.strictEqual(res.status, 200);
|
|
assert.strictEqual(res.body.default, 'hello');
|
|
}));
|
|
|
|
it('can set null even if it has default value', async(async () => {
|
|
const res = await request('/test', {
|
|
required: true,
|
|
nullableDefault: null,
|
|
});
|
|
assert.strictEqual(res.status, 200);
|
|
assert.strictEqual(res.body.nullableDefault, null);
|
|
}));
|
|
|
|
it('cannot set undefined if it has default value', async(async () => {
|
|
const res = await request('/test', {
|
|
required: true,
|
|
nullableDefault: undefined,
|
|
});
|
|
assert.strictEqual(res.status, 200);
|
|
assert.strictEqual(res.body.nullableDefault, 'hello');
|
|
}));
|
|
});
|
|
});
|