get tests working, dyncamic dates in EditCreationFormular tests

This commit is contained in:
Moriz Wahl 2022-01-25 15:02:37 +01:00
parent 710e56925c
commit 225b3d4363
3 changed files with 14 additions and 76 deletions

View File

@ -3,14 +3,6 @@ import CreationFormular from './CreationFormular.vue'
const localVue = global.localVue
const apolloMock = jest.fn().mockResolvedValue({
data: {
verifyLogin: {
name: 'success',
id: 0,
},
},
})
const apolloMutateMock = jest.fn().mockResolvedValue({
data: {
createPendingCreation: [0, 0, 0],
@ -24,7 +16,6 @@ const mocks = {
$t: jest.fn((t) => t),
$d: jest.fn((d) => d),
$apollo: {
query: apolloMock,
mutate: apolloMutateMock,
},
$store: {
@ -64,29 +55,12 @@ describe('CreationFormular', () => {
expect(wrapper.find('.component-creation-formular').exists()).toBeTruthy()
})
describe('server sends back moderator data', () => {
it('called store commit with mocked data', () => {
expect(stateCommitMock).toBeCalledWith('moderator', { name: 'success', id: 0 })
})
})
describe('server throws error for moderator data call', () => {
beforeEach(() => {
jest.clearAllMocks()
apolloMock.mockRejectedValueOnce({ message: 'Ouch!' })
wrapper = Wrapper()
})
it('has called store commit with fake data', () => {
expect(stateCommitMock).toBeCalledWith('moderator', { id: 0, name: 'Test Moderator' })
})
})
describe('radio buttons to selcet month', () => {
it('has three radio buttons', () => {
expect(wrapper.findAll('input[type="radio"]').length).toBe(3)
})
/*
describe('with mass creation', () => {
beforeEach(async () => {
jest.clearAllMocks()
@ -132,6 +106,7 @@ describe('CreationFormular', () => {
})
})
})
*/
describe('with single creation', () => {
beforeEach(async () => {

View File

@ -141,17 +141,11 @@ export default {
}
},
methods: {
// Auswählen eines Zeitraumes
updateRadioSelected(name) {
this.createdIndex = this.radioOptions.findIndex((obj) => name === obj.item)
this.text = this.$t('creation_form.creation_for') + ' ' + name.short + ' ' + name.year
// Wenn Mehrfachschöpfung
if (this.type === 'massCreation') {
// An Creation.vue emitten und radioSelectedMass aktualisieren
this.$emit('update-radio-selected', [name, this.createdIndex])
} else if (this.type === 'singleCreation') {
if (this.type === 'singleCreation') {
this.rangeMin = 0
// Der maximale offene Betrag an GDD die für ein User noch geschöpft werden kann
this.rangeMax = name.creation
}
},
@ -166,7 +160,7 @@ export default {
this.items.forEach((item) => {
this.submitObj.push({
email: item.email,
creationDate: this.radioSelected.date,
creationDate: this.selected.date,
amount: Number(this.value),
memo: this.text,
moderator: Number(this.$store.state.moderator.id),
@ -243,34 +237,6 @@ export default {
},
},
computed: {
currentMonth() {
return {
short: this.$d(this.now, 'month'),
long: this.$d(this.now, 'short'),
year: this.$d(this.now, 'year'),
date: this.$d(this.now, 'short', 'en'),
}
},
lastMonth() {
const now = new Date(this.now)
const lastMonth = new Date(now.getFullYear(), now.getMonth() - 1, 1)
return {
short: this.$d(lastMonth, 'month'),
long: this.$d(lastMonth, 'short'),
year: this.$d(lastMonth, 'year'),
date: this.$d(lastMonth, 'short', 'en'),
}
},
beforeLastMonth() {
const now = new Date(this.now)
const beforeLastMonth = new Date(now.getFullYear(), now.getMonth() - 2, 1)
return {
short: this.$d(beforeLastMonth, 'month'),
long: this.$d(beforeLastMonth, 'short'),
year: this.$d(beforeLastMonth, 'year'),
date: this.$d(beforeLastMonth, 'short', 'en'),
}
},
radioOptions() {
return this.creationDateObjects.map((obj, idx) => {
return {
@ -279,15 +245,6 @@ export default {
}
})
},
creationObjects() {
return this.creationDateObjects.map((obj, idx) => {
return {
...obj,
creation: this.creation[idx],
selected: '',
}
})
},
},
}
</script>

View File

@ -42,12 +42,18 @@ const mocks = {
},
}
const now = new Date(Date.now())
const getCreationDate = (sub) => {
const date = sub === 0 ? now : new Date(now.getFullYear(), now.getMonth() - sub, 1, 0)
return date.toISOString().split('T')[0]
}
const propsData = {
creation: [200, 400, 600],
creationUserData: {
memo: 'Test schöpfung 1',
amount: 100,
date: '2022-01-20',
date: getCreationDate(0),
},
item: {
id: 0,
@ -108,7 +114,7 @@ describe('EditCreationFormular', () => {
expect.objectContaining({
variables: {
amount: 90,
creationDate: '2021-11-01',
creationDate: getCreationDate(2),
email: 'bob@baumeister.de',
id: 0,
memo: 'Test create coins',
@ -180,7 +186,7 @@ describe('EditCreationFormular', () => {
expect.objectContaining({
variables: {
amount: 90,
creationDate: '2021-12-01',
creationDate: getCreationDate(1),
email: 'bob@baumeister.de',
id: 0,
memo: 'Test create coins',
@ -236,7 +242,7 @@ describe('EditCreationFormular', () => {
expect.objectContaining({
variables: {
amount: 90,
creationDate: '2022-01-20',
creationDate: getCreationDate(0),
email: 'bob@baumeister.de',
id: 0,
memo: 'Test create coins',