tools.js 724 B

12345678910111213141516171819202122232425262728
  1. import { expect } from 'chai'
  2. // 用指定的 mutaions 测试 action 的辅助函数
  3. const testAction = (action, args, state, expectedMutations, done) => {
  4. let count = 0
  5. // 模拟提交
  6. const commit = (type, payload) => {
  7. const mutation = expectedMutations[count]
  8. expect(mutation.type).to.equal(type)
  9. if (payload) {
  10. expect(mutation.payload).to.deep.equal(payload)
  11. }
  12. count++
  13. if (count >= expectedMutations.length) {
  14. done()
  15. }
  16. }
  17. // 用模拟的 store 和参数调用 action
  18. action({ commit, state }, ...args)
  19. // 检查是否没有 mutation 被 dispatch
  20. if (expectedMutations.length === 0) {
  21. expect(count).to.equal(0)
  22. done()
  23. }
  24. }
  25. export default {
  26. testAction
  27. }