From e0bfc95a006ba6cbdb3a1a77bc62b6a64d95482d Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sun, 2 Aug 2020 12:20:27 -0500 Subject: [PATCH] Use tag names from TagPolicy, fixes #134 --- src/api/__mocks__/status.js | 2 +- src/api/__mocks__/users.js | 4 +-- .../components/ModerateUserDropdown.vue | 36 +++++++++---------- .../users/components/ModerationDropdown.vue | 36 +++++++++---------- .../users/components/MultipleUsersMenu.vue | 28 +++++++-------- src/views/users/show.vue | 12 +++---- test/views/users/index.test.js | 2 +- test/views/users/multipleUsersMenu.test.js | 16 ++++----- 8 files changed, 68 insertions(+), 68 deletions(-) diff --git a/src/api/__mocks__/status.js b/src/api/__mocks__/status.js index 0fa2ccf5..b24142d2 100644 --- a/src/api/__mocks__/status.js +++ b/src/api/__mocks__/status.js @@ -12,7 +12,7 @@ export async function fetchStatus(id, authHost, token) { id: '9n1bySks25olxWrku0', avatar: 'http://localhost:4000/images/avi.png', nickname: 'dolin', - tags: ['strip_media', 'sandbox', 'disable_any_subscription', 'force_nsfw'], + tags: ['mrf_tag:media-strip', 'mrf_tag:sandbox', 'mrf_tag:disable-any-subscription', 'mrf_tag:media-force-nsfw'], url: 'http://localhost:4000/users/dolin' }, content: 'pizza makes everything better', diff --git a/src/api/__mocks__/users.js b/src/api/__mocks__/users.js index 7d4172d6..1133c705 100644 --- a/src/api/__mocks__/users.js +++ b/src/api/__mocks__/users.js @@ -1,7 +1,7 @@ export let users = [ { active: true, deactivated: false, id: '2', nickname: 'allis', local: true, external: false, roles: { admin: true, moderator: false }, tags: [] }, - { active: true, deactivated: false, id: '10', nickname: 'bob', local: false, external: true, roles: { admin: false, moderator: false }, tags: ['sandbox'] }, - { active: false, deactivated: true, id: 'abc', nickname: 'john', local: true, external: false, roles: { admin: false, moderator: false }, tags: ['strip_media'] } + { active: true, deactivated: false, id: '10', nickname: 'bob', local: false, external: true, roles: { admin: false, moderator: false }, tags: ['mrf_tag:sandbox'] }, + { active: false, deactivated: true, id: 'abc', nickname: 'john', local: true, external: false, roles: { admin: false, moderator: false }, tags: ['mrf_tag:media-strip'] } ] const userProfile = { avatar: 'avatar.jpg', nickname: 'allis', id: '2', tags: [], roles: { admin: true, moderator: false }, local: true, external: false } diff --git a/src/views/reports/components/ModerateUserDropdown.vue b/src/views/reports/components/ModerateUserDropdown.vue index fdae9c18..9be3446e 100644 --- a/src/views/reports/components/ModerateUserDropdown.vue +++ b/src/views/reports/components/ModerateUserDropdown.vue @@ -16,42 +16,42 @@ + :class="{ 'active-tag': tags.includes('mrf_tag:media-force-nsfw') }" + @click.native="toggleTag(account, 'mrf_tag:media-force-nsfw')"> {{ $t('users.forceNsfw') }} - + + :class="{ 'active-tag': tags.includes('mrf_tag:media-strip') }" + @click.native="toggleTag(account, 'mrf_tag:media-strip')"> {{ $t('users.stripMedia') }} - + + :class="{ 'active-tag': tags.includes('mrf_tag:force-unlisted') }" + @click.native="toggleTag(account, 'mrf_tag:force-unlisted')"> {{ $t('users.forceUnlisted') }} - + + :class="{ 'active-tag': tags.includes('mrf_tag:sandbox') }" + @click.native="toggleTag(account, 'mrf_tag:sandbox')"> {{ $t('users.sandbox') }} - + + :class="{ 'active-tag': tags.includes('mrf_tag:disable-remote-subscription') }" + @click.native="toggleTag(account, 'mrf_tag:disable-remote-subscription')"> {{ $t('users.disableRemoteSubscription') }} - + + :class="{ 'active-tag': tags.includes('mrf_tag:disable-any-subscription') }" + @click.native="toggleTag(account, 'mrf_tag:disable-any-subscription')"> {{ $t('users.disableAnySubscription') }} - + diff --git a/src/views/users/components/ModerationDropdown.vue b/src/views/users/components/ModerationDropdown.vue index 6f9a5651..8b800c46 100644 --- a/src/views/users/components/ModerationDropdown.vue +++ b/src/views/users/components/ModerationDropdown.vue @@ -50,42 +50,42 @@ + :class="{ 'active-tag': user.tags.includes('mrf_tag:media-force-nsfw') }" + @click.native="toggleTag(user, 'mrf_tag:media-force-nsfw')"> {{ $t('users.forceNsfw') }} - + + :class="{ 'active-tag': user.tags.includes('mrf_tag:media-strip') }" + @click.native="toggleTag(user, 'mrf_tag:media-strip')"> {{ $t('users.stripMedia') }} - + + :class="{ 'active-tag': user.tags.includes('mrf_tag:force-unlisted') }" + @click.native="toggleTag(user, 'mrf_tag:force-unlisted')"> {{ $t('users.forceUnlisted') }} - + + :class="{ 'active-tag': user.tags.includes('mrf_tag:sandbox') }" + @click.native="toggleTag(user, 'mrf_tag:sandbox')"> {{ $t('users.sandbox') }} - + + :class="{ 'active-tag': user.tags.includes('mrf_tag:disable-remote-subscription') }" + @click.native="toggleTag(user, 'mrf_tag:disable-remote-subscription')"> {{ $t('users.disableRemoteSubscription') }} - + + :class="{ 'active-tag': user.tags.includes('mrf_tag:disable-any-subscription') }" + @click.native="toggleTag(user, 'mrf_tag:disable-any-subscription')"> {{ $t('users.disableAnySubscription') }} - + {{ $t('users.forceNsfw') }} - + {{ $t('users.apply') }} - + {{ $t('users.remove') }} @@ -69,10 +69,10 @@
{{ $t('users.stripMedia') }} - + {{ $t('users.apply') }} - + {{ $t('users.remove') }} @@ -82,10 +82,10 @@
{{ $t('users.forceUnlisted') }} - + {{ $t('users.apply') }} - + {{ $t('users.remove') }} @@ -95,10 +95,10 @@
{{ $t('users.sandbox') }} - + {{ $t('users.apply') }} - + {{ $t('users.remove') }} @@ -108,10 +108,10 @@
{{ $t('users.disableRemoteSubscriptionForMultiple') }} - + {{ $t('users.apply') }} - + {{ $t('users.remove') }} @@ -121,10 +121,10 @@
{{ $t('users.disableAnySubscriptionForMultiple') }} - + {{ $t('users.apply') }} - + {{ $t('users.remove') }} @@ -198,7 +198,7 @@ export default { }, addTag: (tag) => () => { const filtered = this.selectedUsers.filter(user => - tag === 'disable_remote_subscription' || tag === 'disable_any_subscription' + tag === 'mrf_tag:disable-remote-subscription' || tag === 'mrf_tag:disable-any-subscription' ? this.isLocalUser(user) && !user.tags.includes(tag) : user.nickname && !user.tags.includes(tag)) const addTagFn = async(users) => await this.$store.dispatch('AddTag', { users, tag }) @@ -206,7 +206,7 @@ export default { }, removeTag: (tag) => async() => { const filtered = this.selectedUsers.filter(user => - tag === 'disable_remote_subscription' || tag === 'disable_any_subscription' + tag === 'mrf_tag:disable-remote-subscription' || tag === 'mrf_tag:disable-any-subscription' ? this.isLocalUser(user) && user.tags.includes(tag) : user.nickname && user.tags.includes(tag)) const removeTagFn = async(users) => await this.$store.dispatch('RemoveTag', { users, tag }) diff --git a/src/views/users/show.vue b/src/views/users/show.vue index 70b645a3..c77c710c 100644 --- a/src/views/users/show.vue +++ b/src/views/users/show.vue @@ -169,12 +169,12 @@ export default { }, humanizeTag(tag) { const mapTags = { - 'force_nsfw': 'Force NSFW', - 'strip_media': 'Strip Media', - 'force_unlisted': 'Force Unlisted', - 'sandbox': 'Sandbox', - 'disable_remote_subscription': 'Disable remote subscription', - 'disable_any_subscription': 'Disable any subscription' + 'mrf_tag:media-force-nsfw': 'Force NSFW', + 'mrf_tag:media-strip': 'Strip Media', + 'mrf_tag:force-unlisted': 'Force Unlisted', + 'mrf_tag:sandbox': 'Sandbox', + 'mrf_tag:disable-remote-subscription': 'Disable remote subscription', + 'mrf_tag:disable-any-subscription': 'Disable any subscription' } return mapTags[tag] }, diff --git a/test/views/users/index.test.js b/test/views/users/index.test.js index 847de253..6afd901b 100644 --- a/test/views/users/index.test.js +++ b/test/views/users/index.test.js @@ -159,7 +159,7 @@ describe('Users actions', () => { expect(store.state.users.fetchedUsers[1].deactivated).toBe(false) wrapper.find(htmlElement(2, 2)).trigger('click') - store.dispatch('DeleteUsers', { users: [{ active: true, deactivated: false, id: '10', nickname: 'bob', local: false, external: true, roles: { admin: false, moderator: false }, tags: ['sandbox'] }] }) + store.dispatch('DeleteUsers', { users: [{ active: true, deactivated: false, id: '10', nickname: 'bob', local: false, external: true, roles: { admin: false, moderator: false }, tags: ['mrf_tag:sandbox'] }] }) await flushPromises() expect(store.state.users.fetchedUsers[1].deactivated).toBe(true) diff --git a/test/views/users/multipleUsersMenu.test.js b/test/views/users/multipleUsersMenu.test.js index c956bed4..1408ea56 100644 --- a/test/views/users/multipleUsersMenu.test.js +++ b/test/views/users/multipleUsersMenu.test.js @@ -249,22 +249,22 @@ describe('Apply users actions to multiple users', () => { wrapper.find(`.el-dropdown-menu__item:nth-child(11) button:nth-child(1)`).trigger('click') expect(wrapper.vm.addTagForMultipleUsers).toHaveBeenCalled() - expect(wrapper.vm.addTagForMultipleUsers).toHaveBeenCalledWith('force_nsfw') + expect(wrapper.vm.addTagForMultipleUsers).toHaveBeenCalledWith('mrf_tag:media-force-nsfw') wrapper.find(`.el-dropdown-menu__item:nth-child(13) button:nth-child(1)`).trigger('click') expect(wrapper.vm.addTagForMultipleUsers).toHaveBeenCalled() - expect(wrapper.vm.addTagForMultipleUsers).toHaveBeenCalledWith('force_unlisted') + expect(wrapper.vm.addTagForMultipleUsers).toHaveBeenCalledWith('mrf_tag:force-unlisted') wrapper.find(`.el-dropdown-menu__item:nth-child(15 ) button:nth-child(1)`).trigger('click') expect(wrapper.vm.addTagForMultipleUsers).toHaveBeenCalled() - expect(wrapper.vm.addTagForMultipleUsers).toHaveBeenCalledWith('disable_remote_subscription') + expect(wrapper.vm.addTagForMultipleUsers).toHaveBeenCalledWith('mrf_tag:disable-remote-subscription') const addTag = wrapper.vm.mappers().addTag const user1 = store.state.users.fetchedUsers[0] const user2 = store.state.users.fetchedUsers[1] expect(user1.tags.length).toBe(0) expect(user2.tags.length).toBe(1) - addTag('strip_media')() + addTag('mrf_tag:media-strip')() const updatedUser1 = store.state.users.fetchedUsers[0] const updatedUser2 = store.state.users.fetchedUsers[1] @@ -289,22 +289,22 @@ describe('Apply users actions to multiple users', () => { wrapper.find(`.el-dropdown-menu__item:nth-child(12) button:nth-child(2)`).trigger('click') expect(wrapper.vm.removeTagFromMultipleUsers).toHaveBeenCalled() - expect(wrapper.vm.removeTagFromMultipleUsers).toHaveBeenCalledWith('strip_media') + expect(wrapper.vm.removeTagFromMultipleUsers).toHaveBeenCalledWith('mrf_tag:media-strip') wrapper.find(`.el-dropdown-menu__item:nth-child(14) button:nth-child(2)`).trigger('click') expect(wrapper.vm.removeTagFromMultipleUsers).toHaveBeenCalled() - expect(wrapper.vm.removeTagFromMultipleUsers).toHaveBeenCalledWith('sandbox') + expect(wrapper.vm.removeTagFromMultipleUsers).toHaveBeenCalledWith('mrf_tag:sandbox') wrapper.find(`.el-dropdown-menu__item:nth-child(16) button:nth-child(2)`).trigger('click') expect(wrapper.vm.removeTagFromMultipleUsers).toHaveBeenCalled() - expect(wrapper.vm.removeTagFromMultipleUsers).toHaveBeenCalledWith('disable_any_subscription') + expect(wrapper.vm.removeTagFromMultipleUsers).toHaveBeenCalledWith('mrf_tag:disable-any-subscription') const removeTag = wrapper.vm.mappers().removeTag const user1 = store.state.users.fetchedUsers[1] const user2 = store.state.users.fetchedUsers[2] expect(user1.tags.length).toBe(1) expect(user2.tags.length).toBe(1) - removeTag('strip_media')() + removeTag('mrf_tag:media-strip')() const updatedUser1 = store.state.users.fetchedUsers[1] const updatedUser2 = store.state.users.fetchedUsers[2]