test with ts
This commit is contained in:
parent
c5a9a7397a
commit
7cd7e27805
@ -1,10 +1,7 @@
|
|||||||
import { test } from 'tap';
|
import { Updux } from './Updux';
|
||||||
import sinon from 'sinon';
|
import { action } from './actions';
|
||||||
|
|
||||||
import { Updux } from './Updux.js';
|
test('basic state', () => {
|
||||||
import { action } from './actions.js';
|
|
||||||
|
|
||||||
test('basic state', async (t) => {
|
|
||||||
const alpha = new Updux({
|
const alpha = new Updux({
|
||||||
initial: { sub: 1 },
|
initial: { sub: 1 },
|
||||||
});
|
});
|
||||||
@ -18,7 +15,7 @@ test('basic state', async (t) => {
|
|||||||
subduxes: { alpha, beta },
|
subduxes: { alpha, beta },
|
||||||
});
|
});
|
||||||
|
|
||||||
t.same(dux.initial, {
|
expect(dux.initial).toMatchObject({
|
||||||
a: 1,
|
a: 1,
|
||||||
b: 'two',
|
b: 'two',
|
||||||
alpha: { sub: 1 },
|
alpha: { sub: 1 },
|
||||||
@ -26,7 +23,7 @@ test('basic state', async (t) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('basic actions', async (t) => {
|
test('basic actions', () => {
|
||||||
const alpha = new Updux({
|
const alpha = new Updux({
|
||||||
actions: {
|
actions: {
|
||||||
foo: action('foo'),
|
foo: action('foo'),
|
||||||
@ -42,10 +39,10 @@ test('basic actions', async (t) => {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
t.same(Object.keys(dux.actions).sort(), ['bar', 'foo']);
|
expect(Object.keys(dux.actions).sort()).toMatchObject(['bar', 'foo']);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('setAction', async (t) => {
|
test('setAction', () => {
|
||||||
const dux = new Updux({
|
const dux = new Updux({
|
||||||
actions: {
|
actions: {
|
||||||
bar: action('bar'),
|
bar: action('bar'),
|
||||||
@ -53,10 +50,10 @@ test('setAction', async (t) => {
|
|||||||
});
|
});
|
||||||
dux.setAction('foo');
|
dux.setAction('foo');
|
||||||
|
|
||||||
t.same(Object.keys(dux.actions).sort(), ['bar', 'foo']);
|
expect(Object.keys(dux.actions).sort()).toMatchObject(['bar', 'foo']);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('basic selectors', async (t) => {
|
test('basic selectors', () => {
|
||||||
const alpha = new Updux({
|
const alpha = new Updux({
|
||||||
initial: { quux: 3 },
|
initial: { quux: 3 },
|
||||||
selectors: {
|
selectors: {
|
||||||
@ -83,20 +80,20 @@ test('basic selectors', async (t) => {
|
|||||||
);
|
);
|
||||||
dux.setAction('stuff');
|
dux.setAction('stuff');
|
||||||
|
|
||||||
t.equal(dux.selectors.getBar({ bar: 3 }), 3);
|
expect(dux.selectors.getBar({ bar: 3 })).toEqual(3);
|
||||||
t.equal(dux.selectors.getFoo({ foo: 3 }), 3);
|
expect(dux.selectors.getFoo({ foo: 3 })).toEqual(3);
|
||||||
|
|
||||||
t.equal(alpha.selectors.getQuux({ quux: 1 }), 1);
|
expect(alpha.selectors.getQuux({ quux: 1 })).toEqual(1);
|
||||||
t.equal(dux.selectors.getQuux({ alpha: { quux: 1 } }), 1);
|
expect(dux.selectors.getQuux({ alpha: { quux: 1 } })).toEqual(1);
|
||||||
|
|
||||||
const store = dux.createStore();
|
const store = dux.createStore();
|
||||||
|
|
||||||
t.equal(store.getState.getFoo(), 1);
|
expect(store.getState.getFoo()).toEqual(1);
|
||||||
t.equal(store.getState.getQuux(), 3);
|
expect(store.getState.getQuux()).toEqual(3);
|
||||||
t.equal(store.getState.getAdd(7), 8);
|
expect(store.getState.getAdd(7)).toEqual(8);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('mutations', async (t) => {
|
test('mutations', () => {
|
||||||
const alpha = new Updux({
|
const alpha = new Updux({
|
||||||
initial: { quux: 3 },
|
initial: { quux: 3 },
|
||||||
});
|
});
|
||||||
@ -124,7 +121,7 @@ test('mutations', async (t) => {
|
|||||||
|
|
||||||
const store = dux.createStore();
|
const store = dux.createStore();
|
||||||
|
|
||||||
t.same(store.getState(), {
|
expect(store.getState()).toMatchObject({
|
||||||
foo: 1,
|
foo: 1,
|
||||||
bar: 4,
|
bar: 4,
|
||||||
alpha: { quux: 3 },
|
alpha: { quux: 3 },
|
||||||
@ -132,7 +129,7 @@ test('mutations', async (t) => {
|
|||||||
|
|
||||||
store.dispatch.add(10);
|
store.dispatch.add(10);
|
||||||
|
|
||||||
t.same(store.getState(), {
|
expect(store.getState()).toMatchObject({
|
||||||
foo: 11,
|
foo: 11,
|
||||||
bar: 4,
|
bar: 4,
|
||||||
alpha: { quux: 13 },
|
alpha: { quux: 13 },
|
||||||
@ -140,15 +137,15 @@ test('mutations', async (t) => {
|
|||||||
|
|
||||||
store.dispatch.subtract(20);
|
store.dispatch.subtract(20);
|
||||||
|
|
||||||
t.same(store.getState(), {
|
expect(store.getState()).toMatchObject({
|
||||||
foo: 11,
|
foo: 11,
|
||||||
bar: -16,
|
bar: -16,
|
||||||
alpha: { quux: 13 },
|
alpha: { quux: 13 },
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('middleware', async (t) => {
|
test('middleware', () => {
|
||||||
const fooEffect = sinon.fake.returns(true);
|
const fooEffect = jest.fn(() => true);
|
||||||
|
|
||||||
const dux = new Updux({
|
const dux = new Updux({
|
||||||
effects: {
|
effects: {
|
||||||
@ -161,9 +158,9 @@ test('middleware', async (t) => {
|
|||||||
|
|
||||||
const store = dux.createStore();
|
const store = dux.createStore();
|
||||||
|
|
||||||
t.notOk(fooEffect.called, 'not called yet');
|
expect(fooEffect).not.toBeCalled();
|
||||||
|
|
||||||
store.dispatch({ type: 'foo' });
|
store.dispatch({ type: 'foo' });
|
||||||
|
|
||||||
t.ok(fooEffect.called, "now it's been called");
|
expect(fooEffect).toBeCalled();
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user