39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import assert from 'assert';
|
|
import { HttpClient, TsrpcError } from 'tsrpc';
|
|
import { serviceProto } from '../../src/shared/protocols/serviceProto';
|
|
|
|
// 1. EXECUTE `npm run dev` TO START A LOCAL DEV SERVER
|
|
// 2. EXECUTE `npm test` TO START UNIT TEST
|
|
|
|
describe('ApiGetData', function () {
|
|
let client = new HttpClient(serviceProto, {
|
|
server: 'http://127.0.0.1:3000',
|
|
logger: console
|
|
});
|
|
|
|
it('AddData & GetData', async function () {
|
|
// Get data before add
|
|
let ret1 = await client.callApi('GetData', {});
|
|
assert.strictEqual(ret1.isSucc, true);
|
|
|
|
// AddData
|
|
let ret2 = await client.callApi('AddData', { content: 'AABBCC' });
|
|
assert.strictEqual(ret2.isSucc, true);
|
|
|
|
// Get data again, the new data should appear
|
|
let ret3 = await client.callApi('GetData', {});
|
|
assert.strictEqual(ret3.isSucc, true);
|
|
assert.strictEqual(ret3.res!.data.length, ret1.res!.data.length + 1);
|
|
assert.strictEqual(ret3.res!.data[0].content, 'AABBCC');
|
|
});
|
|
|
|
it('AddData: Check content is empty', async function () {
|
|
let ret = await client.callApi('AddData', {
|
|
content: ''
|
|
});
|
|
assert.deepStrictEqual(ret, {
|
|
isSucc: false,
|
|
err: new TsrpcError('Content is empty')
|
|
});
|
|
})
|
|
}) |