diff options
Diffstat (limited to 'test/settings/reducers')
-rw-r--r-- | test/settings/reducers/setting.test.ts | 51 |
1 files changed, 29 insertions, 22 deletions
diff --git a/test/settings/reducers/setting.test.ts b/test/settings/reducers/setting.test.ts index bb5cfa5..99c4c80 100644 --- a/test/settings/reducers/setting.test.ts +++ b/test/settings/reducers/setting.test.ts @@ -1,54 +1,61 @@ -import * as actions from "settings/actions"; -import settingReducer from "settings/reducers/setting"; +import * as actions from "../../../src/settings/actions"; +import settingReducer from "../../../src/settings/reducers/setting"; +import { expect } from "chai"; +import { + FormSettings, + JSONTextSettings, + SettingSource, +} from "../../../src/shared/SettingData"; +import { DefaultSetting } from "../../../src/shared/settings/Settings"; describe("settings setting reducer", () => { it("return the initial state", () => { - const state = settingReducer(undefined, {}); + const state = settingReducer(undefined, {} as any); expect(state).to.have.deep.property("source", "json"); expect(state).to.have.deep.property("error", ""); }); it("return next state for SETTING_SET_SETTINGS", () => { - const action = { + const action: actions.SettingAction = { type: actions.SETTING_SET_SETTINGS, - source: "json", - json: '{ "key": "value" }', - form: {}, + source: SettingSource.JSON, + json: JSONTextSettings.fromText('{ "key": "value" }'), + form: FormSettings.fromSettings(DefaultSetting), }; const state = settingReducer(undefined, action); - expect(state).to.have.deep.property("source", "json"); - expect(state).to.have.deep.property("json", '{ "key": "value" }'); - expect(state).to.have.deep.property("form", {}); + expect(state.source).to.equal("json"); + expect(state.json!!.toJSONText()).to.equal('{ "key": "value" }'); + expect(state.form).to.deep.equal(action.form); }); it("return next state for SETTING_SHOW_ERROR", () => { - const action = { + const action: actions.SettingAction = { type: actions.SETTING_SHOW_ERROR, error: "bad value", - json: "{}", + json: JSONTextSettings.fromText("{}"), }; const state = settingReducer(undefined, action); - expect(state).to.have.deep.property("error", "bad value"); - expect(state).to.have.deep.property("json", "{}"); + expect(state.error).to.equal("bad value"); + expect(state.json!!.toJSONText()).to.equal("{}"); }); it("return next state for SETTING_SWITCH_TO_FORM", () => { - const action = { + const action: actions.SettingAction = { type: actions.SETTING_SWITCH_TO_FORM, - form: {}, + form: FormSettings.fromSettings(DefaultSetting), }; const state = settingReducer(undefined, action); - expect(state).to.have.deep.property("form", {}); - expect(state).to.have.deep.property("source", "form"); + expect(state.form).to.deep.equal(action.form); + expect(state.source).to.equal("form"); }); it("return next state for SETTING_SWITCH_TO_JSON", () => { - const action = { + const action: actions.SettingAction = { type: actions.SETTING_SWITCH_TO_JSON, - json: "{}", + json: JSONTextSettings.fromText("{}"), }; const state = settingReducer(undefined, action); - expect(state).to.have.deep.property("json", "{}"); - expect(state).to.have.deep.property("source", "json"); + expect(state.json!!.toJSONText()).to.equal("{}"); + expect(state.source).to.equal(SettingSource.JSON); }); }); |