diff --git a/admin/src/components/CommunityStatistic.spec.js b/admin/src/components/CommunityStatistic.spec.js deleted file mode 100644 index dbcca5fed..000000000 --- a/admin/src/components/CommunityStatistic.spec.js +++ /dev/null @@ -1,39 +0,0 @@ -import { mount } from '@vue/test-utils' -import CommunityStatistic from './CommunityStatistic' - -const localVue = global.localVue - -const mocks = { - $t: jest.fn((t) => t), - $n: jest.fn((n) => n), -} - -const propsData = { - value: { - totalUsers: '123', - activeUsers: '100', - deletedUsers: '5', - totalGradidoCreated: '2500', - totalGradidoDecayed: '200', - totalGradidoAvailable: '500', - totalGradidoUnbookedDecayed: '111', - }, -} - -describe('CommunityStatistic', () => { - let wrapper - - const Wrapper = () => { - return mount(CommunityStatistic, { localVue, mocks, propsData }) - } - - describe('mount', () => { - beforeEach(() => { - wrapper = Wrapper() - }) - - it('renders the Div Element ".community-statistic"', () => { - expect(wrapper.find('div.community-statistic').exists()).toBe(true) - }) - }) -}) diff --git a/admin/src/components/NavBar.spec.js b/admin/src/components/NavBar.spec.js index 8956564bd..139172c30 100644 --- a/admin/src/components/NavBar.spec.js +++ b/admin/src/components/NavBar.spec.js @@ -49,28 +49,36 @@ describe('NavBar', () => { it('has a link to overview', () => { expect(wrapper.findAll('.nav-item').at(0).find('a').attributes('href')).toBe('/') }) + it('has a link to /user', () => { expect(wrapper.findAll('.nav-item').at(1).find('a').attributes('href')).toBe('/user') }) + it('has a link to /creation', () => { expect(wrapper.findAll('.nav-item').at(2).find('a').attributes('href')).toBe('/creation') }) + it('has a link to /creation-confirm', () => { expect(wrapper.findAll('.nav-item').at(3).find('a').attributes('href')).toBe( '/creation-confirm', ) }) + it('has a link to /contribution-links', () => { expect(wrapper.findAll('.nav-item').at(4).find('a').attributes('href')).toBe( '/contribution-links', ) }) + + it('has a link to /statistic', () => { + expect(wrapper.findAll('.nav-item').at(5).find('a').attributes('href')).toBe('/statistic') + }) }) describe('wallet', () => { const assignLocationSpy = jest.fn() beforeEach(async () => { - await wrapper.findAll('.nav-item').at(5).find('a').trigger('click') + await wrapper.findAll('.nav-item').at(6).find('a').trigger('click') }) it.skip('changes window location to wallet', () => { @@ -89,7 +97,7 @@ describe('NavBar', () => { window.location = { assign: windowLocationMock, } - await wrapper.findAll('.nav-item').at(6).find('a').trigger('click') + await wrapper.findAll('.nav-item').at(7).find('a').trigger('click') }) it('redirects to /logout', () => { diff --git a/admin/src/components/Tables/StatisticTable.spec.js b/admin/src/components/Tables/StatisticTable.spec.js new file mode 100644 index 000000000..876728aff --- /dev/null +++ b/admin/src/components/Tables/StatisticTable.spec.js @@ -0,0 +1,50 @@ +import { mount } from '@vue/test-utils' +import StatisticTable from './StatisticTable.vue' + +const localVue = global.localVue + +const propsData = { + value: { + totalUsers: 3113, + activeUsers: 1057, + deletedUsers: 35, + totalGradidoCreated: '4083774.05000000000000000000', + totalGradidoDecayed: '-1062639.13634129622923372197', + totalGradidoAvailable: '2513565.869444365732411569', + totalGradidoUnbookedDecayed: '-500474.6738366222166261272', + }, +} + +const mocks = { + $t: jest.fn((t) => t), + $n: jest.fn((n) => n), + $d: jest.fn((d) => d), +} + +describe('StatisticTable', () => { + let wrapper + + const Wrapper = () => { + return mount(StatisticTable, { localVue, mocks, propsData }) + } + + describe('mount', () => { + beforeEach(() => { + wrapper = Wrapper() + }) + + it('has a DIV element with the class .statistic-table', () => { + expect(wrapper.find('div.statistic-table').exists()).toBe(true) + }) + + describe('renders the table', () => { + it('with three colunms', () => { + expect(wrapper.findAll('thead > tr > th')).toHaveLength(3) + }) + + it('with seven rows', () => { + expect(wrapper.findAll('tbody > tr')).toHaveLength(7) + }) + }) + }) +}) diff --git a/admin/src/pages/CommunityStatistic.spec.js b/admin/src/pages/CommunityStatistic.spec.js new file mode 100644 index 000000000..80ee93820 --- /dev/null +++ b/admin/src/pages/CommunityStatistic.spec.js @@ -0,0 +1,44 @@ +import { mount } from '@vue/test-utils' +import CommunityStatistic from './CommunityStatistic.vue' + +const localVue = global.localVue + +const apolloQueryMock = jest.fn().mockResolvedValue({ + data: { + communityStatistics: { + totalUsers: 3113, + activeUsers: 1057, + deletedUsers: 35, + totalGradidoCreated: '4083774.05000000000000000000', + totalGradidoDecayed: '-1062639.13634129622923372197', + totalGradidoAvailable: '2513565.869444365732411569', + totalGradidoUnbookedDecayed: '-500474.6738366222166261272', + }, + }, +}) + +const mocks = { + $t: jest.fn((t) => t), + $n: jest.fn((n) => n), + $apollo: { + query: apolloQueryMock, + }, +} + +describe('CommunityStatistic', () => { + let wrapper + + const Wrapper = () => { + return mount(CommunityStatistic, { localVue, mocks }) + } + + describe('mount', () => { + beforeEach(() => { + wrapper = Wrapper() + }) + + it('renders the Div Element ".community-statistic"', () => { + expect(wrapper.find('div.community-statistic').exists()).toBe(true) + }) + }) +}) diff --git a/admin/src/pages/Overview.spec.js b/admin/src/pages/Overview.spec.js index affd018a7..8c714853f 100644 --- a/admin/src/pages/Overview.spec.js +++ b/admin/src/pages/Overview.spec.js @@ -1,6 +1,5 @@ import { mount } from '@vue/test-utils' import Overview from './Overview.vue' -import { communityStatistics } from '@/graphql/communityStatistics.js' import { listUnconfirmedContributions } from '@/graphql/listUnconfirmedContributions.js' const localVue = global.localVue @@ -22,19 +21,6 @@ const apolloQueryMock = jest ], }, }) - .mockResolvedValueOnce({ - data: { - communityStatistics: { - totalUsers: 3113, - activeUsers: 1057, - deletedUsers: 35, - totalGradidoCreated: '4083774.05000000000000000000', - totalGradidoDecayed: '-1062639.13634129622923372197', - totalGradidoAvailable: '2513565.869444365732411569', - totalGradidoUnbookedDecayed: '-500474.6738366222166261272', - }, - }, - }) .mockResolvedValue({ data: { listUnconfirmedContributions: [ @@ -88,14 +74,6 @@ describe('Overview', () => { ) }) - it('calls communityStatistics', () => { - expect(apolloQueryMock).toBeCalledWith( - expect.objectContaining({ - query: communityStatistics, - }), - ) - }) - it('commits three pending creations to store', () => { expect(storeCommitMock).toBeCalledWith('setOpenCreations', 3) }) diff --git a/admin/src/router/router.test.js b/admin/src/router/router.test.js index 22273c15b..cb5a4080d 100644 --- a/admin/src/router/router.test.js +++ b/admin/src/router/router.test.js @@ -44,8 +44,8 @@ describe('router', () => { }) describe('routes', () => { - it('has seven routes defined', () => { - expect(routes).toHaveLength(8) + it('has eight routes defined', () => { + expect(routes).toHaveLength(9) }) it('has "/overview" as default', async () => {