add moderator messages message type, add mutation adminListContributionMessages

This commit is contained in:
ogerly 2023-06-21 12:24:00 +02:00
parent 5963ebb6a1
commit d742697a34
4 changed files with 58 additions and 9 deletions

View File

@ -64,7 +64,7 @@ describe('ContributionMessagesFormular', () => {
text: 'text form message',
},
})
await wrapper.find('form').trigger('submit')
await wrapper.find('[data-test="submit-dialog"]').trigger('click')
})
it('emitted "get-list-contribution-messages" with data', async () => {
@ -84,7 +84,7 @@ describe('ContributionMessagesFormular', () => {
beforeEach(async () => {
apolloMutateMock.mockRejectedValue({ message: 'OUCH!' })
wrapper = Wrapper()
await wrapper.find('form').trigger('submit')
await wrapper.find('[data-test="submit-dialog"]').trigger('submit')
})
it('toasts an error message', () => {
@ -100,7 +100,11 @@ describe('ContributionMessagesFormular', () => {
},
})
wrapper = Wrapper()
await wrapper.find('form').trigger('submit')
await wrapper.find('data-test="submit-dialog').trigger('submit')
})
it('moderatorMesage has `DIALOG`', () => {
expect(wrapper.vm.messageType).toBeCalledWith('DIALOG')
})
it('toasts an success message', () => {

View File

@ -1,7 +1,7 @@
<template>
<div class="contribution-messages-formular">
<div class="mt-5">
<b-form @submit.prevent="onSubmit" @reset.prevent="onReset">
<b-form @reset.prevent="onReset">
<b-form-textarea
id="textarea"
v-model="form.text"
@ -12,8 +12,27 @@
<b-col>
<b-button type="reset" variant="danger">{{ $t('form.cancel') }}</b-button>
</b-col>
<b-col>
<b-button
type="button"
variant="warning"
class="text-black"
:disabled="disabled"
@click="onSubmit('MODERATOR')"
data-test="submit-moderator"
>
Moderator Notiz
</b-button>
</b-col>
<b-col class="text-right">
<b-button type="submit" variant="primary" :disabled="disabled">
<b-button
type="submit"
variant="primary"
:disabled="disabled"
@click="onSubmit('DIALOG')"
data-test="submit-dialog"
>
{{ $t('form.submit') }}
</b-button>
</b-col>
@ -42,7 +61,7 @@ export default {
}
},
methods: {
onSubmit(event) {
onSubmit(mType) {
this.loading = true
this.$apollo
.mutate({
@ -50,6 +69,7 @@ export default {
variables: {
contributionId: this.contributionId,
message: this.form.text,
messageType: mType,
},
})
.then((result) => {

View File

@ -18,7 +18,7 @@
<script>
import ContributionMessagesListItem from './slots/ContributionMessagesListItem'
import ContributionMessagesFormular from '../ContributionMessages/ContributionMessagesFormular'
import { listContributionMessages } from '../../graphql/listContributionMessages.js'
import { adminListContributionMessages } from '../../graphql/adminListContributionMessages.js'
export default {
name: 'ContributionMessagesList',
@ -45,14 +45,15 @@ export default {
getListContributionMessages(id) {
this.$apollo
.query({
query: listContributionMessages,
query: adminListContributionMessages,
variables: {
contributionId: id,
},
fetchPolicy: 'no-cache',
})
.then((result) => {
this.messages = result.data.listContributionMessages.messages
console.log(result)
this.messages = result.data.adminListContributionMessages.messages
})
.catch((error) => {
this.toastError(error.message)

View File

@ -0,0 +1,24 @@
import gql from 'graphql-tag'
export const adminListContributionMessages = gql`
query ($contributionId: Int!, $pageSize: Int = 25, $currentPage: Int = 1, $order: Order = ASC) {
adminListContributionMessages(
contributionId: $contributionId
pageSize: $pageSize
currentPage: $currentPage
order: $order
) {
count
messages {
id
message
createdAt
updatedAt
type
userFirstName
userLastName
userId
}
}
}
`