Revamp of the Settings State System along with TypeScript support (#1560)
* Add vue-rx, rxjs and lodash as dependencies * Added vue-rx plugin integration to nuxt config * Initial settings store implementation * Add babel plugin for private class properties to for Jest * Add DispatchingStore test spec * Initial settings code * Reactive Streams for fb current user and id token * Fix typo * Migrate index and graphql pages to the new store * Migrate network strategy to the new store * Fixed Section.vue errors * Fix getSettingSubject issue * Migrate fb settings reference in components to the new state system * Add typings for lodash as dev dependency * Load setting * Load initial sync setting values * Update proxy url * Add typescript support * Rewrite Settings store to TypeScript * Port Settings page to TypeScript as reference * Move all store migrations to a separate file * Delete test file for fb.js * Add ts-jest as dev dependency * Remove firebase-mock as dependency * Remove FRAME_COLORS_ENABLED settings value
This commit is contained in:
@@ -5,6 +5,17 @@ jest.mock("../../utils/b64", () => ({
|
||||
__esModule: true,
|
||||
decodeB64StringToArrayBuffer: jest.fn((data) => `${data}-converted`),
|
||||
}))
|
||||
jest.mock("~/newstore/settings", () => {
|
||||
return {
|
||||
__esModule: true,
|
||||
settingsStore: {
|
||||
value: {
|
||||
PROXY_ENABLED: true,
|
||||
PROXY_URL: "test"
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
describe("cancelRunningAxiosRequest", () => {
|
||||
test("cancels axios request and does that only 1 time", () => {
|
||||
@@ -17,16 +28,6 @@ describe("cancelRunningAxiosRequest", () => {
|
||||
|
||||
describe("axiosStrategy", () => {
|
||||
describe("Proxy Requests", () => {
|
||||
const store = {
|
||||
state: {
|
||||
postwoman: {
|
||||
settings: {
|
||||
PROXY_ENABLED: true,
|
||||
PROXY_URL: "test",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
test("sends POST request to proxy if proxy is enabled", async () => {
|
||||
let passedURL
|
||||
@@ -36,7 +37,7 @@ describe("axiosStrategy", () => {
|
||||
return Promise.resolve({ data: { success: true, isBinary: false } })
|
||||
})
|
||||
|
||||
await axiosStrategy({}, store)
|
||||
await axiosStrategy({})
|
||||
|
||||
expect(passedURL).toEqual("test")
|
||||
})
|
||||
@@ -55,7 +56,7 @@ describe("axiosStrategy", () => {
|
||||
return Promise.resolve({ data: { success: true, isBinary: false } })
|
||||
})
|
||||
|
||||
await axiosStrategy(reqFields, store)
|
||||
await axiosStrategy(reqFields)
|
||||
|
||||
expect(passedFields).toMatchObject(reqFields)
|
||||
})
|
||||
@@ -68,7 +69,7 @@ describe("axiosStrategy", () => {
|
||||
return Promise.resolve({ data: { success: true, isBinary: false } })
|
||||
})
|
||||
|
||||
await axiosStrategy({}, store)
|
||||
await axiosStrategy({})
|
||||
|
||||
expect(passedFields).toHaveProperty("wantsBinary")
|
||||
})
|
||||
@@ -83,7 +84,7 @@ describe("axiosStrategy", () => {
|
||||
},
|
||||
})
|
||||
|
||||
await expect(axiosStrategy({}, store)).rejects.toThrow("test message")
|
||||
await expect(axiosStrategy({})).rejects.toThrow("test message")
|
||||
})
|
||||
|
||||
test("checks for proxy response success field and throws error 'Proxy Error' for non-success", async () => {
|
||||
@@ -94,7 +95,7 @@ describe("axiosStrategy", () => {
|
||||
},
|
||||
})
|
||||
|
||||
await expect(axiosStrategy({}, store)).rejects.toThrow("Proxy Error")
|
||||
await expect(axiosStrategy({})).rejects.toThrow("Proxy Error")
|
||||
})
|
||||
|
||||
test("checks for proxy response success and doesn't throw for success", async () => {
|
||||
@@ -105,7 +106,7 @@ describe("axiosStrategy", () => {
|
||||
},
|
||||
})
|
||||
|
||||
await expect(axiosStrategy({}, store)).resolves.toBeDefined()
|
||||
await expect(axiosStrategy({})).resolves.toBeDefined()
|
||||
})
|
||||
|
||||
test("checks isBinary response field and resolve with the converted value if so", async () => {
|
||||
@@ -117,7 +118,7 @@ describe("axiosStrategy", () => {
|
||||
},
|
||||
})
|
||||
|
||||
await expect(axiosStrategy({}, store)).resolves.toMatchObject({
|
||||
await expect(axiosStrategy({})).resolves.toMatchObject({
|
||||
data: "testdata-converted",
|
||||
})
|
||||
})
|
||||
@@ -131,7 +132,7 @@ describe("axiosStrategy", () => {
|
||||
},
|
||||
})
|
||||
|
||||
await expect(axiosStrategy({}, store)).resolves.toMatchObject({
|
||||
await expect(axiosStrategy({})).resolves.toMatchObject({
|
||||
data: "testdata",
|
||||
})
|
||||
})
|
||||
@@ -140,14 +141,14 @@ describe("axiosStrategy", () => {
|
||||
jest.spyOn(axios, "post").mockRejectedValue("errr")
|
||||
jest.spyOn(axios, "isCancel").mockReturnValueOnce(true)
|
||||
|
||||
await expect(axiosStrategy({}, store)).rejects.toBe("cancellation")
|
||||
await expect(axiosStrategy({})).rejects.toBe("cancellation")
|
||||
})
|
||||
|
||||
test("non-cancellation errors are thrown", async () => {
|
||||
jest.spyOn(axios, "post").mockRejectedValue("errr")
|
||||
jest.spyOn(axios, "isCancel").mockReturnValueOnce(false)
|
||||
|
||||
await expect(axiosStrategy({}, store)).rejects.toBe("errr")
|
||||
await expect(axiosStrategy({})).rejects.toBe("errr")
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user