tee-mo-core
Version:
77 lines (47 loc) • 2.14 kB
JavaScript
import {createStore} from '../src/index'
describe('测试store的基础功能', () => {
it('测试删除model', function () {
const userModel = {
namespace: 'user'
}
const orderModel = {
namespace: 'order'
}
const store = createStore()
store.addModel(userModel).addModel(orderModel).start()
expect(store.reduxStore.getState()['user']).not.toBeUndefined()
store.delModel('user').restart()
expect(store.reduxStore.getState()['user']).toBeUndefined()
});
it('测试删除一个不存在的model', function () {
const store = createStore().start();
expect(() => store.delModel("test")).toThrow("model不存在,无法进行删除操作")
});
it('测试清空model', function () {
const user = {
namespace: 'user'
}, order = {
namespace: 'order'
};
const store = createStore();
store.addModel(user).addModel(order).start();
expect(store.reduxStore.getState()['user']).not.toBeUndefined()
expect(store.reduxStore.getState()['order']).not.toBeUndefined()
store.clearModel().restart()
expect(store.reduxStore.getState()['user']).toBeUndefined()
expect(store.reduxStore.getState()['order']).toBeUndefined()
expect(store.reduxStore.getState()['@@teeMoCore']).not.toBeUndefined()
});
it('测试删除默认model', function () {
const store = createStore()
expect(() => store.delModel('@@teeMoCore')).toThrow("[teeMo.delModel] 不可以删除一个系统默认的model , 当前传入期望删除的model的namespace为 [@@teeMoCore]")
});
it('测试重复启动store', function () {
const store = createStore()
expect(() => store.start().start()).toThrow('[teeMo.Store] 数据仓库已经启动!')
})
it('测试未启动store的情况下调用,store的restart函数', function () {
const store = createStore()
expect(() => store.restart()).toThrow('[teeMo.Store] 数据仓库尚未启动!')
});
})