Skip to content

Commit 9b8c8de

Browse files
committed
Implement remaining tests
1 parent 860a54c commit 9b8c8de

File tree

1 file changed

+35
-33
lines changed

1 file changed

+35
-33
lines changed
Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,61 @@
1-
import { getConfigStore } from "../get-config-store"
1+
let isTrackingEnabled: () => boolean
22

3-
const mockGetFunction = jest.fn()
4-
const mockSetFunction = jest.fn()
3+
const get = jest.fn()
4+
const set = jest.fn()
55

6-
jest.mock(`../get-config-store`, () => {
6+
jest.doMock(`../get-config-store`, () => {
77
return {
88
getConfigStore: (): unknown => {
99
return {
10-
items: {},
11-
set(key: string, value: unknown): void {
12-
mockSetFunction(key, value)
13-
;(this as any).items[key] = value
14-
},
15-
get(key: string): unknown {
16-
mockGetFunction(key)
17-
return (this as any).items[key]
18-
},
19-
20-
__reset(): void {
21-
;(this as any).items = {}
22-
},
10+
get,
11+
set,
2312
}
2413
},
2514
}
2615
})
2716

28-
let isTrackingEnabled
29-
3017
describe(`isTrackingEnabled`, () => {
3118
beforeEach(() => {
3219
jest.resetModules()
3320
isTrackingEnabled = require(`../tracking`).isTrackingEnabled
3421
})
3522

36-
afterEach(() => {
37-
jest.resetAllMocks()
38-
})
39-
4023
it(`is enabled by default`, async () => {
4124
const enabled = isTrackingEnabled()
42-
expect(enabled).toBe(true)
43-
expect(mockGetFunction).toHaveBeenCalledWith(`telemetry.enabled`)
44-
expect(mockSetFunction).toHaveBeenCalledWith(`telemetry.enabled`, true)
25+
expect(enabled).toBeTrue()
4526
})
4627

47-
// TODO - Implement remaining tests
28+
it(`respects the setting of the config store`, async () => {
29+
get.mockImplementationOnce(key => {
30+
if (key === `telemetry.enabled`) {
31+
return false
32+
} else {
33+
return true
34+
}
35+
})
4836

49-
it.skip(`respects the setting of the config store`, async () => {
50-
const store = getConfigStore()
51-
store.set(`telemetry.enabled`, false)
5237
const enabled = isTrackingEnabled()
53-
expect(enabled).toBe(false)
38+
expect(enabled).toBeFalse()
39+
40+
const cachedEnabled = isTrackingEnabled()
41+
expect(cachedEnabled).toBeFalse()
5442
})
5543

56-
it.skip(`respects the setting of the environment variable`, async () => {})
44+
describe(`isTrackingEnabled / process.env.GATSBY_TELEMETRY_DISABLED`, () => {
45+
beforeAll(() => {
46+
process.env.GATSBY_TELEMETRY_DISABLED = `true`
47+
})
48+
49+
it(`respects the setting of the environment variable`, async () => {
50+
const enabled = isTrackingEnabled()
51+
expect(enabled).toBeFalse()
5752

58-
it.skip(`caches the setting for all calls in create-gatsby`, async () => {})
53+
const cachedEnabled = isTrackingEnabled()
54+
expect(cachedEnabled).toBeFalse()
55+
})
56+
57+
afterAll(() => {
58+
process.env.GATSBY_TELEMETRY_DISABLED = undefined
59+
})
60+
})
5961
})

0 commit comments

Comments
 (0)