Skip to content

Commit

Permalink
feat: make sure server can testable
Browse files Browse the repository at this point in the history
  • Loading branch information
mildronize committed Feb 7, 2024
1 parent 174ac2f commit 48cbe57
Show file tree
Hide file tree
Showing 8 changed files with 158 additions and 9 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -127,4 +127,6 @@ dist
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
.pnp.*

.tmp
10 changes: 10 additions & 0 deletions examples/end-to-end.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { describe, expect, test } from 'vitest';
import request from 'supertest';
import app from './end-to-end';

describe('GET /', () => {
test('responds status should be 200', async done => {
const response = await request(app).get('/');
expect(response.status).toBe(200);
});
});
10 changes: 10 additions & 0 deletions examples/end-to-end.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { DataViewer } from 'src/main';

function main() {
return new DataViewer()
.addHeader('User Table')
.start();
}

export default main();

4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@thaitype/data-viewer-server",
"version": "0.3.0-canary.7",
"version": "0.3.0-canary.8",
"description": "Display Node.js data with live-reload in a web-based table viewer.",
"main": "./dist/main.js",
"module": "./dist/main.mjs",
Expand Down Expand Up @@ -35,6 +35,7 @@
"@types/express": "^4.17.21",
"@types/fs-extra": "^11.0.4",
"@types/node": "^18.11.18",
"@types/supertest": "^6.0.2",
"@typescript-eslint/eslint-plugin": "^5.55.0",
"@typescript-eslint/parser": "^5.55.0",
"@vitest/coverage-v8": "^1.1.3",
Expand All @@ -46,6 +47,7 @@
"npm-run-all": "^4.1.5",
"prettier": "^2.8.3",
"rimraf": "^5.0.5",
"supertest": "^6.3.4",
"tsup": "^6.6.3",
"tsx": "^4.7.0",
"typescript": "^5.0.2",
Expand Down
126 changes: 121 additions & 5 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/view-server/data-viewer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export class DataViewer extends DataContainer {
}

public start(startOptions?: StartOptions) {
startViewServer(this, startOptions);
return startViewServer(this, startOptions);
}

public registerMiddleware(app: express.Express) {
Expand Down
4 changes: 3 additions & 1 deletion src/view-server/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import type { DataViewer } from './data-viewer';
import { delay } from './utils';
import { getPinoLogger } from '../logger';

export async function startViewServer(dataViewer: DataViewer, startOptions?: StartOptions) {
export function startViewServer(dataViewer: DataViewer, startOptions?: StartOptions) {
const logger = getPinoLogger(startOptions?.loggerOption ?? {});
const stringLogger = {
log: (message: string) => logger.info(message),
Expand Down Expand Up @@ -76,4 +76,6 @@ export async function startViewServer(dataViewer: DataViewer, startOptions?: Sta
io.emit('startReload');
logger.debug('Start reload');
});

return server;
}
7 changes: 7 additions & 0 deletions vitest.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { configDefaults, defineConfig } from 'vitest/config'

export default defineConfig({
test: {
exclude: [...configDefaults.exclude, 'end-to-end/**'],
},
})

0 comments on commit 48cbe57

Please sign in to comment.