test group profile page, a start

This commit is contained in:
Wolfgang Huß 2022-09-20 13:03:00 +02:00
parent ad349e4ecd
commit 25c26ce158
6 changed files with 1216 additions and 108 deletions

View File

@ -55,18 +55,18 @@ const seedBasicsAndClearAuthentication = async () => {
},
)
await Promise.all([
neode.create('Category', {
id: 'cat9',
name: 'Democracy & Politics',
slug: 'democracy-politics',
icon: 'university',
}),
neode.create('Category', {
id: 'cat4',
name: 'Environment & Nature',
slug: 'environment-nature',
icon: 'tree',
}),
neode.create('Category', {
id: 'cat9',
name: 'Democracy & Politics',
slug: 'democracy-politics',
icon: 'university',
}),
neode.create('Category', {
id: 'cat15',
name: 'Consumption & Sustainability',

View File

@ -1,6 +1,6 @@
<template>
<base-button
class="track-button"
class="join-leave-button"
:disabled="disabled"
:loading="localLoading"
:icon="icon"
@ -129,7 +129,7 @@ export default {
</script>
<style lang="scss">
.track-button {
.join-leave-button {
display: block;
width: 100%;
}

View File

@ -1,5 +1,5 @@
<template>
<div>
<div class="avatar-uploader">
<vue-dropzone
id="customdropzone"
:key="avatarUrl"

View File

@ -1,95 +0,0 @@
// import { config, mount } from '@vue/test-utils'
// import ProfileSlug from './_slug.vue'
// const localVue = global.localVue
// localVue.filter('date', (d) => d)
// config.stubs['client-only'] = '<span><slot /></span>'
// config.stubs['v-popover'] = '<span><slot /></span>'
// config.stubs['nuxt-link'] = '<span><slot /></span>'
// config.stubs['infinite-loading'] = '<span><slot /></span>'
// config.stubs['follow-list'] = '<span><slot /></span>'
// describe('ProfileSlug', () => {
// let wrapper
// let Wrapper
// let mocks
// beforeEach(() => {
// mocks = {
// post: {
// id: 'p23',
// name: 'It is a post',
// },
// $t: jest.fn(),
// // If you're mocking router, then don't use VueRouter with localVue: https://vue-test-utils.vuejs.org/guides/using-with-vue-router.html
// $route: {
// params: {
// id: '4711',
// slug: 'john-doe',
// },
// },
// $router: {
// history: {
// push: jest.fn(),
// },
// },
// $toast: {
// success: jest.fn(),
// error: jest.fn(),
// },
// $apollo: {
// loading: false,
// mutate: jest.fn().mockResolvedValue(),
// },
// }
// })
// describe('mount', () => {
// Wrapper = () => {
// return mount(ProfileSlug, {
// mocks,
// localVue,
// })
// }
// describe('given an authenticated user', () => {
// beforeEach(() => {
// mocks.$filters = {
// removeLinks: (c) => c,
// truncate: (a) => a,
// }
// mocks.$store = {
// getters: {
// 'auth/isModerator': () => false,
// 'auth/user': {
// id: 'u23',
// },
// },
// }
// })
// describe('given a user for the profile', () => {
// beforeEach(() => {
// wrapper = Wrapper()
// wrapper.setData({
// User: [
// {
// id: 'u3',
// name: 'Bob the builder',
// contributionsCount: 6,
// shoutedCount: 7,
// commentedCount: 8,
// },
// ],
// })
// })
// it('displays name of the user', () => {
// expect(wrapper.text()).toContain('Bob the builder')
// })
// })
// })
// })
// })

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
<template>
<div>
<div v-if="isGroupVisible">
<ds-space />
<ds-flex v-if="group" :width="{ base: '100%' }" gutter="base">
<ds-flex-item :width="{ base: '100%', sm: 2, md: 2, lg: 1 }">
@ -41,7 +41,7 @@
</ds-text>
<!-- Group location -->
<ds-text v-if="group && group.location" align="center" color="soft" size="small">
<base-icon name="map-marker" />
<base-icon name="map-marker" data-test="map-marker" />
{{ group && group.location ? group.location.name : '' }}
</ds-text>
<!-- Group created at -->
@ -196,7 +196,7 @@
</ds-heading>
<!-- Group members list -->
<profile-list
:uniqueName="`groupMembersFilter`"
:uniqueName="'groupMembersFilter'"
:title="$t('group.membersListTitle')"
:titleNobody="
!isAllowedSeeingGroupMembers
@ -393,7 +393,7 @@ export default {
return this.$store.getters['auth/user']
},
group() {
return this.Group[0] ? this.Group[0] : {}
return this.Group && this.Group[0] ? this.Group[0] : {}
},
groupName() {
const { name } = this.group || {}
@ -404,6 +404,7 @@ export default {
return slug && `@${slug}`
},
groupDescriptionExcerpt() {
// Wolle: console.log('groupDescriptionExcerpt: ', this.group ? this.$filters.removeLinks(this.group.descriptionExcerpt) : '')
return this.group ? this.$filters.removeLinks(this.group.descriptionExcerpt) : ''
},
isGroupOwner() {
@ -415,6 +416,9 @@ export default {
isGroupMemberNonePending() {
return this.group ? ['usual', 'admin', 'owner'].includes(this.group.myRole) : false
},
isGroupVisible() {
return this.group && !(this.group.groupType === 'hidden' && !this.isGroupMemberNonePending)
},
groupMembers() {
return this.GroupMembers ? this.GroupMembers : []
},