Guest User

Untitled

a guest
Apr 21st, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. import Vuex from 'vuex'
  2. import Vuelidate from 'vuelidate'
  3. import { mount, createLocalVue } from '@vue/test-utils'
  4. import Locale from 'src/locale/index'
  5. import PodCreateForm from 'src/components/pod-management/PodCreateForm'
  6.  
  7. const localVue = createLocalVue()
  8.  
  9. describe('components/', () => {
  10. describe('PodCreateForm.vue', () => {
  11. const stubs = {}
  12. let store
  13. let wrapper
  14.  
  15. beforeEach(() => {
  16. localVue.use(Vuelidate)
  17. localVue.use(Locale)
  18. stubs.created = sinon.stub(PodCreateForm, 'created')
  19. store = new Vuex.Store({
  20. state: {},
  21. getters: {},
  22. actions: {},
  23. mutations: {}
  24. })
  25.  
  26. wrapper = mount(PodCreateForm, { store })
  27. })
  28.  
  29. afterEach(() => {
  30. Object.values(stubs).forEach(stub => stub.restore())
  31. })
  32.  
  33. it('should display validation error message if name is blank', () => {
  34. wrapper.vm.name = 'Test PodName'
  35. wrapper.vm.$v.$touch()
  36.  
  37. wrapper.vm.name = ''
  38. wrapper.vm.$v.$touch()
  39.  
  40. wrapper.update()
  41.  
  42. const messageElement = wrapper.find('[data-automate-id="podManagement-createOne-name-error-required"]')
  43. expect(messageElement.is('spoken-input-message')).to.be.true
  44. })
  45.  
  46. it('should display validation error message if name is less than 3 characters', () => {
  47. wrapper.vm.name = 'OK'
  48. wrapper.vm.$v.$touch()
  49.  
  50. wrapper.update()
  51.  
  52. const messageElement = wrapper.find('[data-automate-id="podManagement-createOne-name-error-minLength"]')
  53. expect(messageElement.is('spoken-input-message')).to.be.true
  54. })
  55.  
  56. it('should display validation error message if name is more than 128 characters', () => {
  57. wrapper.vm.name = new Array(130).join('a') // prints a string of 129 a's
  58. wrapper.vm.$v.$touch()
  59.  
  60. wrapper.update()
  61.  
  62. const messageElement = wrapper.find('[data-automate-id="podManagement-createOne-name-error-maxLength"]')
  63. expect(messageElement.is('spoken-input-message')).to.be.true
  64. })
  65.  
  66. it('should display validation error message if name is not alpha-numeric', () => {
  67. wrapper.vm.name = 'spaces should be invalid'
  68. wrapper.vm.$v.$touch()
  69.  
  70. wrapper.update()
  71.  
  72. let messageElement = wrapper.find('[data-automate-id="podManagement-createOne-name-error-alphaNum"]')
  73. expect(messageElement.is('spoken-input-message')).to.be.true
  74.  
  75. wrapper.vm.name = 'dash-should-be-valid'
  76. wrapper.vm.$v.$touch()
  77.  
  78. wrapper.update()
  79.  
  80. messageElement = wrapper.find('[data-automate-id="podManagement-createOne-name-error-alphaNum"]')
  81. expect(messageElement.exists()).to.be.false
  82.  
  83. wrapper.vm.name = 'sp@cial#characters*should&be+invalid'
  84. wrapper.vm.$v.$touch()
  85.  
  86. wrapper.update()
  87.  
  88. messageElement = wrapper.find('[data-automate-id="podManagement-createOne-name-error-alphaNum"]')
  89. expect(messageElement.is('spoken-input-message')).to.be.true
  90. })
  91. })
  92. })
Add Comment
Please, Sign In to add comment