|
1 | 1 | import { logger } from "@coder/logger"
|
2 | 2 | import * as http from "http"
|
3 |
| -import { createApp, ensureAddress } from "../../../src/node/app" |
| 3 | +import { createApp, ensureAddress, handleServerError } from "../../../src/node/app" |
4 | 4 | import { setDefaults } from "../../../src/node/cli"
|
5 | 5 | import { getAvailablePort } from "../../utils/helpers"
|
6 | 6 |
|
@@ -122,5 +122,40 @@ describe("ensureAddress", () => {
|
122 | 122 | })
|
123 | 123 | })
|
124 | 124 |
|
125 |
| -// TODO@jsjoeio |
126 |
| -// write tests for handleServerError |
| 125 | +describe("handleServerError", () => { |
| 126 | + let spy: jest.SpyInstance |
| 127 | + |
| 128 | + beforeEach(() => { |
| 129 | + spy = jest.spyOn(logger, "error") |
| 130 | + }) |
| 131 | + |
| 132 | + afterEach(() => { |
| 133 | + jest.clearAllMocks() |
| 134 | + }) |
| 135 | + |
| 136 | + afterAll(() => { |
| 137 | + jest.restoreAllMocks() |
| 138 | + }) |
| 139 | + |
| 140 | + it("should call reject if resolved is false", async () => { |
| 141 | + const resolved = false |
| 142 | + const reject = jest.fn((err: Error) => undefined) |
| 143 | + const error = new Error("handleServerError Error") |
| 144 | + |
| 145 | + handleServerError(resolved, error, reject) |
| 146 | + |
| 147 | + expect(reject).toHaveBeenCalledTimes(1) |
| 148 | + expect(reject).toHaveBeenCalledWith(error) |
| 149 | + }) |
| 150 | + |
| 151 | + it("should log an error if resolved is true", async () => { |
| 152 | + const resolved = true |
| 153 | + const reject = jest.fn((err: Error) => undefined) |
| 154 | + const error = new Error("handleServerError Error") |
| 155 | + |
| 156 | + handleServerError(resolved, error, reject) |
| 157 | + |
| 158 | + expect(spy).toHaveBeenCalledTimes(1) |
| 159 | + expect(spy).toThrowErrorMatchingSnapshot() |
| 160 | + }) |
| 161 | +}) |
0 commit comments