Skip to content

Commit 818572d

Browse files
authored
fix(koa): Ensure .teardown works without a server (#3234)
1 parent d6a94d2 commit 818572d

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

packages/koa/src/index.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,16 @@ export function koa<S = any, C = any>(
5353
},
5454

5555
async teardown(server?: any) {
56-
return feathersTeardown
57-
.call(this, server)
58-
.then(
59-
() => new Promise((resolve, reject) => this.server.close((e) => (e ? reject(e) : resolve(this))))
60-
)
56+
return feathersTeardown.call(this, server).then(
57+
() =>
58+
new Promise((resolve, reject) => {
59+
if (this.server) {
60+
this.server.close((e) => (e ? reject(e) : resolve(this)))
61+
} else {
62+
resolve(this)
63+
}
64+
})
65+
)
6166
}
6267
} as Application)
6368

packages/koa/test/index.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,12 @@ describe('@feathersjs/koa', () => {
208208
assert.ok(called)
209209
})
210210

211+
it('.teardown works without server (#3224)', async () => {
212+
const app = koa(feathers())
213+
214+
await app.teardown()
215+
})
216+
211217
restTests('Services', 'todo', 8465)
212218
restTests('Root service', '/', 8465)
213219
})

0 commit comments

Comments
 (0)