Text.spec.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { mount } from '@vue/test-utils'
  2. import Vuetify from 'vuetify'
  3. import Text from '~/components/Ui/Xeditable/Text'
  4. let wrapper
  5. let vuetify
  6. beforeEach(() => {
  7. vuetify = new Vuetify()
  8. wrapper = mount(Text, {
  9. propsData: {
  10. data: 'foo'
  11. },
  12. stubs: ['UiInputText'],
  13. vuetify
  14. })
  15. })
  16. describe('edit-link', () => {
  17. it('should display by default', async () => {
  18. expect(wrapper.find('.edit-link').exists()).toBeTruthy()
  19. })
  20. it('should hide if we click on it', async () => {
  21. await wrapper.find('.edit-link').trigger('click')
  22. expect(wrapper.find('.edit-link').exists()).toBeFalsy()
  23. })
  24. it('should show if we click on it and after if we click on valid', async () => {
  25. await wrapper.find('.edit-link').trigger('click')
  26. await wrapper.find('.valid').trigger('click')
  27. expect(wrapper.find('.edit-link').exists()).toBeTruthy()
  28. })
  29. it('should show if we click on it and after if we click on cancel', async () => {
  30. await wrapper.find('.edit-link').trigger('click')
  31. await wrapper.find('.cancel').trigger('click')
  32. expect(wrapper.find('.edit-link').exists()).toBeTruthy()
  33. })
  34. })
  35. describe('x-editable-input', () => {
  36. it('should hide by default', async () => {
  37. expect(wrapper.find('.x-editable-input').exists()).toBeFalsy()
  38. })
  39. it('should show if we click on edit link it', async () => {
  40. await wrapper.find('.edit-link').trigger('click')
  41. expect(wrapper.find('.x-editable-input').exists()).toBeTruthy()
  42. })
  43. it('should emit an update event on valid button if inputValue has change', async () => {
  44. await wrapper.find('.edit-link').trigger('click')
  45. await wrapper.setData({ inputValue: 'bar' })
  46. await wrapper.find('.valid').trigger('click')
  47. expect(wrapper.emitted().update).toBeTruthy()
  48. })
  49. it('should not emit an update event on valid button if inputValue has not change', async () => {
  50. await wrapper.find('.edit-link').trigger('click')
  51. await wrapper.find('.valid').trigger('click')
  52. expect(wrapper.emitted().update).toBeFalsy()
  53. })
  54. })