From 1133e2c9b9d0ea856093f7288b5c5177c9ce9ef2 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Fri, 30 Apr 2021 17:10:21 +0200 Subject: [PATCH] removed UserProfile.vue, tests for GddSend.vue --- .../Pages/AccountOverview/GddSend.spec.js | 135 ++++++++++++++++++ .../views/Pages/AccountOverview/GddSend.vue | 5 +- frontend/src/views/Pages/UserProfile.vue | 51 ------- 3 files changed, 137 insertions(+), 54 deletions(-) create mode 100644 frontend/src/views/Pages/AccountOverview/GddSend.spec.js delete mode 100755 frontend/src/views/Pages/UserProfile.vue diff --git a/frontend/src/views/Pages/AccountOverview/GddSend.spec.js b/frontend/src/views/Pages/AccountOverview/GddSend.spec.js new file mode 100644 index 000000000..330ce7192 --- /dev/null +++ b/frontend/src/views/Pages/AccountOverview/GddSend.spec.js @@ -0,0 +1,135 @@ +import { mount } from '@vue/test-utils' +import GddSend from './GddSend' +import Vuex from 'vuex' + +const localVue = global.localVue + +describe('GddSend', () => { + let wrapper + + let state = { + user: { + balance: 1234, + balance_gdt: 9876, + }, + } + + let store = new Vuex.Store({ + state, + }) + + let mocks = { + // $n: jest.fn((n) => n), + $t: jest.fn((t) => t), + $moment: jest.fn((m) => ({ + format: () => m, + })), + } + + const Wrapper = () => { + return mount(GddSend, { localVue, store, mocks }) + } + + describe('mount', () => { + beforeEach(() => { + wrapper = Wrapper() + }) + + it('renders the component', () => { + expect(wrapper.find('div.gdd-send').exists()).toBeTruthy() + }) + + describe('warning messages', () => { + it('has a warning message', () => { + expect(wrapper.find('div.alert-warning').find('span').text()).toBe('form.attention') + }) + + it('has a dismiss button', () => { + expect(wrapper.find('div.alert-warning').find('button').exists()).toBeTruthy() + }) + + it('dismisses the warning when button is clicked', async () => { + wrapper.find('div.alert-warning').find('button').trigger('click') + await wrapper.vm.$nextTick() + expect(wrapper.find('div.alert-warning').exists()).toBeFalsy() + }) + }) + + describe('transaction form', () => { + describe('email field', () => { + it('has an input field of type email', () => { + expect(wrapper.find('#input-group-1').find('input').attributes('type')).toBe('email') + }) + + it('has an envelope icon', () => { + expect(wrapper.find('#input-group-1').find('svg').attributes('aria-label')).toBe( + 'envelope', + ) + }) + + it('has a label form.receiver', () => { + expect(wrapper.findAll('div.text-left').at(0).text()).toBe('form.receiver') + }) + + it('has a placeholder "E-Mail"', () => { + expect(wrapper.find('#input-group-1').find('input').attributes('placeholder')).toBe( + 'E-Mail', + ) + }) + }) + + describe('ammount field', () => { + it('has an input field of type number', () => { + expect(wrapper.find('#input-group-2').find('input').attributes('type')).toBe('number') + }) + + it('has an GDD text icon', () => { + expect(wrapper.find('#input-group-2').find('div.h3').text()).toBe('GDD') + }) + + it('has a label form.amount', () => { + expect(wrapper.findAll('div.text-left').at(1).text()).toBe('form.amount') + }) + + it('has a placeholder "0.01"', () => { + expect(wrapper.find('#input-group-2').find('input').attributes('placeholder')).toBe( + '0.01', + ) + }) + }) + + describe('message text box', () => { + it('has an textarea field', () => { + expect(wrapper.find('#input-group-3').find('textarea').exists()).toBeTruthy() + }) + + it('has an chat-right-text icon', () => { + expect(wrapper.find('#input-group-3').find('svg').attributes('aria-label')).toBe( + 'chat right text', + ) + }) + + it('has a label form.memo', () => { + expect(wrapper.findAll('div.text-left').at(2).text()).toBe('form.memo') + }) + }) + + describe('cancel button', () => { + it('has a cancel button', () => { + expect(wrapper.find('button[type="reset"]').exists()).toBeTruthy() + }) + + it('has the text "form.cancel"', () => { + expect(wrapper.find('button[type="reset"]').text()).toBe('form.cancel') + }) + + it.skip('clears the email field on click', async () => { + wrapper.find('#input-group-1').find('input').setValue('someone@watches.tv') + wrapper.find('button[type="reset"]').trigger('click') + await wrapper.vm.$nextTick() + expect(wrapper.vm.form.email).toBeNull() + }) + }) + }) + }) +}) diff --git a/frontend/src/views/Pages/AccountOverview/GddSend.vue b/frontend/src/views/Pages/AccountOverview/GddSend.vue index c212785da..5f2794922 100644 --- a/frontend/src/views/Pages/AccountOverview/GddSend.vue +++ b/frontend/src/views/Pages/AccountOverview/GddSend.vue @@ -1,5 +1,5 @@