overmind
Version:
Frictionless state management
1 lines • 25.1 kB
Source Map (JSON)
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { EventType, IContext, Overmind, SERIALIZE, rehydrate } from './'\nimport { namespaced } from './config'\n\nfunction toJSON(obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nclass StateValue {\n value = 'foo'\n toJSON() {\n return {\n [SERIALIZE]: true,\n value: this.value,\n }\n }\n\n static fromJSON(json: { value: string }) {\n const instance = new StateValue()\n instance.value = json.value\n return instance\n }\n}\n\nfunction createDefaultOvermind() {\n const state = {\n foo: 'bar',\n item: {\n isAwesome: true,\n },\n value: (null as unknown) as StateValue,\n }\n const changeFoo = (context: Context) => {\n context.state.foo = 'bar2'\n\n return 'changeFoo'\n }\n const changeFooWithEffect = (context: Context) => {\n context.state.foo = context.effects.hello()\n }\n const waitAndChangeFoo = (context: Context) => {\n return context.effects.wait().then(() => {\n context.state.foo = 'bar2'\n })\n }\n const asyncChangeFoo = async (context: Context) => {\n await Promise.resolve()\n context.state.foo = 'bar2'\n }\n const changeValue = (_, value: { isAwesome: boolean }) => {\n value.isAwesome = !value.isAwesome\n }\n const changeOptionalFoo = (context: Context, newFoo?: string) => {\n if (newFoo !== undefined) {\n context.state.foo = newFoo\n } else {\n context.state.foo = 'default-foo'\n }\n }\n const asyncChangeOptionalFoo = async (context: Context, newFoo?: string) => {\n await Promise.resolve()\n if (newFoo !== undefined) {\n context.state.foo = newFoo\n } else {\n context.state.foo = 'async-default-foo'\n }\n }\n const changeFormValue = (\n _: Context,\n payload: {\n key: string\n form: { [key: string]: any }\n value: any\n }\n ) => {\n const { form, key, value } = payload\n form[key] = value\n }\n const rehydrateAction = ({ state }: Context, newState: any) => {\n rehydrate(state, newState, {\n value: StateValue.fromJSON,\n })\n }\n const actions = {\n asyncChangeFoo,\n changeFormValue,\n changeFoo,\n changeFooWithEffect,\n changeValue,\n waitAndChangeFoo,\n rehydrateAction,\n changeOptionalFoo,\n asyncChangeOptionalFoo,\n }\n const effects = {\n hello() {\n return 'hello'\n },\n wait() {\n return Promise.resolve()\n },\n }\n const config = {\n state,\n actions,\n effects,\n }\n\n type Context = IContext<{\n state: typeof state\n actions: {\n asyncChangeFoo: typeof actions.asyncChangeFoo\n changeFormValue: typeof actions.changeFormValue\n changeFoo: typeof actions.changeFoo\n changeFooWithEffect: typeof actions.changeFooWithEffect\n changeValue: typeof actions.changeValue\n waitAndChangeFoo: typeof actions.waitAndChangeFoo\n rehydrateAction: typeof actions.rehydrateAction\n changeOptionalFoo: typeof actions.changeOptionalFoo\n asyncChangeOptionalFoo: typeof actions.asyncChangeOptionalFoo\n }\n effects: typeof effects\n }>\n\n const app = new Overmind(config)\n\n return app\n}\n\ndescribe('Overmind', () => {\n test('should instantiate app with state', () => {\n const app = new Overmind({\n state: {\n foo: 'bar',\n },\n })\n\n expect(app.state.foo).toEqual('bar')\n })\n\n test('should instantiate app with onInitialize', async () => {\n expect.assertions(2)\n let value: any\n const app = new Overmind({\n state: {\n foo: 'bar',\n },\n actions: {\n onInitializeOvermind(context, val) {\n expect(context.state.foo).toBe('bar')\n value = val\n },\n doThis() {},\n },\n })\n await app.initialized\n expect(value).toBe(app)\n })\n test('should be able to type actions', () => {\n expect.assertions(2)\n\n const app = createDefaultOvermind()\n\n expect(app.state.foo).toBe('bar')\n app.actions.changeFoo()\n expect(app.state.foo).toBe('bar2')\n })\n test('should allow changing state in actions', () => {\n expect.assertions(2)\n const app = createDefaultOvermind()\n\n expect(app.state.foo).toBe('bar')\n app.actions.changeFoo()\n expect(app.state.foo).toBe('bar2')\n })\n test('should expose effects to actions', () => {\n expect.assertions(2)\n const app = createDefaultOvermind()\n\n expect(app.state.foo).toBe('bar')\n app.actions.changeFooWithEffect()\n expect(app.state.foo).toBe('hello')\n })\n test('should allow actions to return a value', () => {\n const app = createDefaultOvermind()\n\n expect(app.actions.changeFoo()).toBe('changeFoo')\n })\n test('should be able to do mutations async via effects', () => {\n expect.assertions(2)\n const app = createDefaultOvermind()\n expect(app.state.foo).toBe('bar')\n return app.actions.waitAndChangeFoo().then(() => {\n expect(app.state.foo).toBe('bar2')\n })\n })\n test('should track action start and end', async () => {\n expect.assertions(2)\n const app = new Overmind({\n actions: {\n doThis() {},\n },\n })\n await app.initialized\n\n app.eventHub.once(EventType.ACTION_START, (data) => {\n expect(toJSON(data)).toEqual({\n actionId: 'doThis',\n actionName: 'doThis',\n isRunning: true,\n namespacePath: [],\n executionId: 1,\n operatorId: 0,\n path: [],\n type: 'action',\n })\n })\n app.eventHub.on(EventType.ACTION_END, (data) => {\n expect(toJSON(data)).toEqual({\n actionId: 'doThis',\n isRunning: false,\n executionId: 1,\n actionName: 'doThis',\n namespacePath: [],\n operatorId: 0,\n path: [],\n type: 'action',\n })\n })\n app.actions.doThis()\n })\n test('should track operator start and end', async () => {\n expect.assertions(2)\n const app = new Overmind({\n actions: {\n doThis() {},\n },\n })\n await app.initialized\n\n app.eventHub.once(EventType.OPERATOR_START, (data) => {\n expect(toJSON(data)).toEqual({\n actionId: 'doThis',\n isRunning: true,\n actionName: 'doThis',\n path: [],\n executionId: 1,\n operatorId: 0,\n namespacePath: [],\n type: 'action',\n })\n })\n app.eventHub.once(EventType.OPERATOR_END, (data) => {\n expect(toJSON(data)).toEqual({\n actionId: 'doThis',\n isRunning: false,\n actionName: 'doThis',\n path: [],\n isAsync: false,\n executionId: 1,\n operatorId: 0,\n namespacePath: [],\n type: 'action',\n })\n })\n app.actions.doThis()\n })\n test('should track mutations', async () => {\n expect.assertions(1)\n const app = createDefaultOvermind()\n await app.initialized\n app.eventHub.once(EventType.MUTATIONS, (data) => {\n expect(toJSON(data)).toEqual({\n actionId: 'changeFoo',\n isRunning: true,\n actionName: 'changeFoo',\n mutations: [\n {\n args: ['bar2'],\n method: 'set',\n path: 'foo',\n hasChangedValue: true,\n delimiter: '.',\n },\n ],\n executionId: 1,\n operatorId: 0,\n namespacePath: [],\n path: [],\n type: 'action',\n })\n })\n app.actions.changeFoo()\n })\n test('should track async mutations', async () => {\n expect.assertions(1)\n const app = createDefaultOvermind()\n await app.initialized\n app.eventHub.on(EventType.MUTATIONS, (data) => {\n expect(toJSON(data)).toEqual({\n actionId: 'waitAndChangeFoo',\n isRunning: true,\n actionName: 'waitAndChangeFoo',\n mutations: [\n {\n args: ['bar2'],\n method: 'set',\n path: 'foo',\n hasChangedValue: true,\n delimiter: '.',\n },\n ],\n executionId: 1,\n operatorId: 0,\n namespacePath: [],\n path: [],\n type: 'action',\n })\n })\n await app.actions.waitAndChangeFoo()\n })\n test('should track async mutations with async await', async () => {\n expect.assertions(1)\n const app = createDefaultOvermind()\n await app.initialized\n app.eventHub.on(EventType.MUTATIONS, (data) => {\n expect(toJSON(data)).toEqual({\n actionId: 'asyncChangeFoo',\n isRunning: true,\n actionName: 'asyncChangeFoo',\n mutations: [\n {\n args: ['bar2'],\n method: 'set',\n path: 'foo',\n hasChangedValue: true,\n delimiter: '.',\n },\n ],\n executionId: 1,\n operatorId: 0,\n path: [],\n namespacePath: [],\n type: 'action',\n })\n })\n await app.actions.asyncChangeFoo()\n })\n test('should instantiate app with modules', () => {\n const foo = {\n state: {\n foo: 'bar',\n },\n actions: {\n foo() {},\n },\n }\n const bar = {\n state: {\n bar: 'baz',\n },\n effects: {\n hello: () => 'hello',\n },\n actions: {\n bar() {},\n },\n }\n\n const config = Object.assign(\n {},\n namespaced({\n foo,\n bar,\n })\n )\n\n const app = new Overmind(config)\n\n expect(app.state.foo.foo).toEqual('bar')\n expect(app.state.bar.bar).toEqual('baz')\n expect(typeof app.actions.foo.foo).toBe('function')\n expect(typeof app.actions.bar.bar).toBe('function')\n })\n test('should instantiate modules with onInitialize', () => {\n const result: string[] = []\n const app = new Overmind(\n namespaced({\n foo: {\n actions: {\n onInitializeOvermind: () => {\n result.push('foo')\n },\n },\n },\n bar: {\n actions: {\n onInitializeOvermind: () => {\n result.push('bar')\n },\n },\n },\n })\n )\n\n return app.initialized.then(() => {\n expect(result).toEqual(['foo', 'bar'])\n })\n })\n test('should allow mutations on passed values', () => {\n expect.assertions(2)\n const app = createDefaultOvermind()\n expect(() => app.actions.changeValue(app.state.item)).not.toThrow()\n expect(app.state.item.isAwesome).toBe(false)\n })\n test('should allow mutations on passed values in object', () => {\n expect.assertions(2)\n const app = createDefaultOvermind()\n expect(() =>\n app.actions.changeFormValue({\n form: app.state.item,\n key: 'isAwesome',\n value: false,\n })\n ).not.toThrow()\n expect(app.state.item.isAwesome).toBe(false)\n })\n test('should rehydrate mutations on hot reload', () => {\n expect.assertions(2)\n const app = createDefaultOvermind()\n app.actions.changeFoo()\n expect(app.state.foo).toBe('bar2')\n app.reconfigure({\n state: {\n foo: 'bar',\n },\n })\n expect(app.state.foo).toBe('bar2')\n })\n test('should rehydrate actions on hot reload', () => {\n expect.assertions(2)\n const app = createDefaultOvermind()\n const changeFoo = app.actions.changeFoo\n app.reconfigure({\n state: {\n foo: 'bar2',\n },\n actions: {\n changeFoo(context) {\n context.state.foo = 'replaced!'\n },\n },\n })\n\n expect(app.state.foo).toBe('bar2')\n changeFoo()\n expect(app.state.foo).toBe('replaced!')\n })\n test('should allow actions with optional parameter', async () => {\n const app = createDefaultOvermind()\n app.actions.changeOptionalFoo()\n expect(app.state.foo).toBe('default-foo')\n await app.actions.asyncChangeOptionalFoo()\n expect(app.state.foo).toBe('async-default-foo')\n\n const newFoo = 'new-foo'\n app.actions.changeOptionalFoo(newFoo)\n expect(app.state.foo).toBe(newFoo)\n\n const newAsyncFoo = 'new-async-foo'\n await app.actions.asyncChangeOptionalFoo(newAsyncFoo)\n expect(app.state.foo).toBe(newAsyncFoo)\n })\n})\n"]}