From 0cb318907398c1a806cb57bd2f1e495a818c5eba Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Sun, 13 Nov 2022 13:24:00 +0100 Subject: [PATCH] unit tests for HISTORY type contribution messages --- .../ContributionMessagesListItem.spec.js | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/admin/src/components/ContributionMessages/slots/ContributionMessagesListItem.spec.js b/admin/src/components/ContributionMessages/slots/ContributionMessagesListItem.spec.js index c1a4e65c6..1b4f963e8 100644 --- a/admin/src/components/ContributionMessages/slots/ContributionMessagesListItem.spec.js +++ b/admin/src/components/ContributionMessages/slots/ContributionMessagesListItem.spec.js @@ -3,12 +3,16 @@ import ContributionMessagesListItem from './ContributionMessagesListItem.vue' const localVue = global.localVue +const dateMock = jest.fn((d) => d) +const numberMock = jest.fn((n) => n) + describe('ContributionMessagesListItem', () => { let wrapper const mocks = { $t: jest.fn((t) => t), - $d: jest.fn((d) => d), + $d: dateMock, + $n: numberMock, } describe('if message author has moderator role', () => { @@ -189,4 +193,64 @@ and here is the link to the repository: https://github.com/gradido/gradido`) }) }) }) + + describe('contribution message type HISTORY', () => { + const propsData = { + message: { + id: 111, + message: `Sun Nov 13 2022 13:05:48 GMT+0100 (Central European Standard Time) +--- +This message also contains a link: https://gradido.net/de/ +--- +350.00`, + createdAt: '2022-08-29T12:23:27.000Z', + updatedAt: null, + type: 'HISTORY', + userFirstName: 'Peter', + userLastName: 'Lustig', + userId: 107, + __typename: 'ContributionMessage', + }, + } + + const itemWrapper = () => { + return mount(ContributionMessagesListItem, { + localVue, + mocks, + propsData, + }) + } + + let messageField + + describe('render HISTORY message', () => { + beforeEach(() => { + jest.clearAllMocks() + wrapper = itemWrapper() + messageField = wrapper.find('div.is-not-moderator.text-left > div:nth-child(4)') + }) + + it('renders the date', () => { + expect(dateMock).toBeCalledWith( + new Date('Sun Nov 13 2022 13:05:48 GMT+0100 (Central European Standard Time'), + 'short', + ) + }) + + it('renders the amount', () => { + expect(numberMock).toBeCalledWith(350, 'decimal') + expect(messageField.text()).toContain('350 GDD') + }) + + it('contains the link as text', () => { + expect(messageField.text()).toContain( + 'This message also contains a link: https://gradido.net/de/', + ) + }) + + it('contains a link to the given address', () => { + expect(messageField.find('a').attributes('href')).toBe('https://gradido.net/de/') + }) + }) + }) })