mirror of
https://github.com/affaan-m/ECC.git
synced 2026-09-29 04:55:12 +02:00
29 lines
943 B
JavaScript
29 lines
943 B
JavaScript
'use strict';
|
|
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
const { createApp } = require('../src/app');
|
|
|
|
function listen(server) {
|
|
return new Promise((resolve, reject) => {
|
|
server.once('error', reject);
|
|
server.listen(0, '127.0.0.1', () => resolve(server.address().port));
|
|
});
|
|
}
|
|
|
|
test('create and read back a paste', async () => {
|
|
const server = createApp();
|
|
const port = await listen(server);
|
|
try {
|
|
const created = await fetch(`http://127.0.0.1:${port}/pastes`, {
|
|
method: 'POST', headers: { 'content-type': 'application/json' },
|
|
body: JSON.stringify({ content: 'hello paste' }) });
|
|
assert.equal(created.status, 201);
|
|
const { id } = await created.json();
|
|
const read = await fetch(`http://127.0.0.1:${port}/pastes/${id}`);
|
|
assert.equal(read.status, 200);
|
|
assert.equal((await read.json()).content, 'hello paste');
|
|
} finally {
|
|
server.close();
|
|
}
|
|
});
|