diff --git a/frontend/src/views/Pages/RegisterCommunity.spec.js b/frontend/src/views/Pages/RegisterCommunity.spec.js new file mode 100644 index 000000000..18f4d5587 --- /dev/null +++ b/frontend/src/views/Pages/RegisterCommunity.spec.js @@ -0,0 +1,91 @@ +import { mount, RouterLinkStub } from '@vue/test-utils' +import flushPromises from 'flush-promises' +import RegisterCommunity from './RegisterCommunity' + +const localVue = global.localVue + +describe('RegisterCommunity', () => { + let wrapper + + const mocks = { + $i18n: { + locale: 'en', + }, + $t: jest.fn((t) => t), + $store: { + state: { + community: { + name: 'Gradido Entwicklung', + url: 'http://localhost:3000/vue/', + registerUrl: 'http://localhost:3000/vue/register', + description: 'Die lokale Entwicklungsumgebung von Gradido.', + }, + }, + } + } + + const Wrapper = () => { + return mount(RegisterCommunity, { localVue, mocks }) + } + + describe('mount', () => { + beforeEach(() => { + wrapper = Wrapper() + }) + + it('renders the Div Element "#register-community"', () => { + expect(wrapper.find('div#register-community').exists()).toBeTruthy() + }) + + describe('Displaying the current community info', () => { + it('has a current community name', () => { + expect(wrapper.find('.header h1').text()).toBe('Gradido Entwicklung') + }) + + it('has a current community description', () => { + expect(wrapper.find('.header p').text()).toBe('Die lokale Entwicklungsumgebung von Gradido.') + }) + + it('has a current community location', () => { + expect(wrapper.find('.header p.community-location').text()).toBe('Location: http://localhost:3000/vue/') + }) + + }) + + + describe('buttons and links', () => { + it('has a button "Continue to registration?"', () => { + expect(wrapper.findAll('a').at(0).text()).toEqual( + 'community.continue-to-registration', + ) + }) + it('button links to /register when clicking "Continue to registration"', () => { + expect(wrapper.findAll('a').at(0).props().to).toBe('/register') + }) + + it('has a button "Choose another community?"', () => { + expect(wrapper.findAll('a').at(1).text()).toEqual( + 'community.choose-another-community', + ) + }) + it('button links to /select-community when clicking "Choose another community"', () => { + expect(wrapper.findAll('a').at(1).props().to).toBe('/select-community') + }) + + it('has a button "Back to Login?"', () => { + expect(wrapper.findAll('a').at(2).text()).toEqual( + 'back', + ) + }) + it('button links to /login when clicking "Back to Login"', () => { + expect(wrapper.findAll('a').at(2).props().to).toBe('/login') + }) + + }) + + + + + }) + +}) \ No newline at end of file diff --git a/frontend/src/views/Pages/RegisterCommunity.vue b/frontend/src/views/Pages/RegisterCommunity.vue index 2ae90883b..1878f8829 100644 --- a/frontend/src/views/Pages/RegisterCommunity.vue +++ b/frontend/src/views/Pages/RegisterCommunity.vue @@ -1,5 +1,5 @@