Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 7210d8f

Browse files
author
Michal Vlasák
committed
Fix user agent logging tests
1 parent 7d2fde8 commit 7210d8f

1 file changed

Lines changed: 51 additions & 24 deletions

File tree

src/tests/express.test.ts

Lines changed: 51 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -134,32 +134,59 @@ test('route can be ignored using regexp helper', () => {
134134
});
135135
});
136136

137-
test('user-agent is logged', () =>
138-
new Promise((resolve, reject) => {
139-
const logger = loggerFactory({
140-
streams: [testWriteStream(resolve, json => expect(json.message).toMatch('dummy agent'))],
137+
test('user-agent is logged', () => {
138+
const loggerWrites = jest.fn();
139+
const logger = loggerFactory({
140+
streams: [
141+
{
142+
stream: new Writable({
143+
write: (chunk, encoding, next) => {
144+
const json = JSON.parse(chunk);
145+
expect(json.message).toMatch('dummy agent');
146+
loggerWrites();
147+
next();
148+
},
149+
}),
150+
},
151+
],
152+
});
153+
154+
const app = express();
155+
const request = supertest(app);
156+
app.use(logger.express);
157+
return request
158+
.get('/')
159+
.set('User-Agent', 'dummy agent')
160+
.then(() => {
161+
expect(loggerWrites).toBeCalled();
141162
});
163+
});
142164

143-
const app = express();
144-
const request = supertest(app);
145-
app.use(logger.express);
146-
request
147-
.get('/test')
148-
.set('User-Agent', 'dummy agent')
149-
.then(() => null);
150-
}));
165+
test('missing user-agent is not logged', () => {
166+
const loggerWrites = jest.fn();
167+
const logger = loggerFactory({
168+
streams: [
169+
{
170+
stream: new Writable({
171+
write: (chunk, encoding, next) => {
172+
const json = JSON.parse(chunk);
173+
expect(json.message).not.toMatch('undefined');
174+
loggerWrites();
175+
next();
176+
},
177+
}),
178+
},
179+
],
180+
});
151181

152-
test('missing user-agent is not logged', () =>
153-
new Promise((resolve, reject) => {
154-
const logger = loggerFactory({
155-
streams: [testWriteStream(resolve, json => expect(json.message).not.toMatch('undefined'))],
182+
const app = express();
183+
const request = supertest(app);
184+
app.use(logger.express);
185+
return request
186+
.get('/')
187+
.unset('User-Agent')
188+
.then(() => {
189+
expect(loggerWrites).toBeCalled();
156190
});
191+
});
157192

158-
const app = express();
159-
const request = supertest(app);
160-
app.use(logger.express);
161-
request
162-
.get('/test')
163-
.unset('User-Agent')
164-
.then(() => null);
165-
}));

0 commit comments

Comments
 (0)