diff options
| author | HJ <spam@hjkos.com> | 2018-12-31 01:57:22 +0000 |
|---|---|---|
| committer | HJ <spam@hjkos.com> | 2018-12-31 01:57:22 +0000 |
| commit | 7aa42c01eb5f05c2e3ed71fc52be6a30e45802bf (patch) | |
| tree | 2071ec16f17bc714817575ad7699707f92cb664b /test | |
| parent | 1316ed43a5d203294cb7a41bb19d5fca98f5cea1 (diff) | |
| parent | fb8f774383f122d3254748f7f97ab6c562a5c339 (diff) | |
Merge branch 'fix/profile-with-no-statuses-not-loading' into 'develop'
Fix profiles without statuses not loading
See merge request pleroma/pleroma-fe!445
Diffstat (limited to 'test')
| -rw-r--r-- | test/unit/specs/components/user_profile.spec.js | 128 | ||||
| -rw-r--r-- | test/unit/specs/modules/users.spec.js | 74 |
2 files changed, 81 insertions, 121 deletions
diff --git a/test/unit/specs/components/user_profile.spec.js b/test/unit/specs/components/user_profile.spec.js index b7743f1f..79fb0304 100644 --- a/test/unit/specs/components/user_profile.spec.js +++ b/test/unit/specs/components/user_profile.spec.js @@ -2,6 +2,7 @@ import { mount, createLocalVue } from '@vue/test-utils' import Vuex from 'vuex' import UserProfile from 'src/components/user_profile/user_profile.vue' import backendInteractorService from 'src/services/backend_interactor_service/backend_interactor_service.js' +import { getters } from 'src/modules/users.js' const localVue = createLocalVue() localVue.use(Vuex) @@ -10,8 +11,26 @@ const mutations = { clearTimeline: () => {} } +const testGetters = { + userByName: state => getters.userByName(state.users), + userById: state => getters.userById(state.users) +} + +const localUser = { + id: 100, + is_local: true, + screen_name: 'testUser' +} + +const extUser = { + id: 100, + is_local: false, + screen_name: 'testUser@test.instance' +} + const externalProfileStore = new Vuex.Store({ mutations, + getters: testGetters, state: { api: { backendInteractor: backendInteractorService('') @@ -44,7 +63,7 @@ const externalProfileStore = new Vuex.Store({ followers: [], friends: [], viewing: 'statuses', - userId: 701, + userId: 100, flushMarker: 0 } } @@ -53,58 +72,15 @@ const externalProfileStore = new Vuex.Store({ currentUser: { credentials: '' }, - usersObject: [ - { - background_image: null, - cover_photo: 'https://playvicious.social/system/accounts/headers/000/000/001/original/7dae4fc0e8330e83.jpg?1507329206', - created_at: 'Mon Dec 18 16:01:35 +0000 2017', - default_scope: 'public', - description: "Your favorite person's favorite person.", - description_html: "<p>Your favorite person's favorite person.</p>", - favourites_count: 0, - fields: [ - { - name: '✌🏾', - value: '<a href="https://thetwelfth.house" rel="me nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">thetwelfth.house</span><span class="invisible"></span></a>' - }, - { - name: '🚧', - value: '<a href="https://code.playvicio.us" rel="me nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">code.playvicio.us</span><span class="invisible"></span></a>' - }, - { - name: '❤️', - value: '<a href="https://www.patreon.com/Are0h" rel="me nofollow noopener" target="_blank"><span class="invisible">https://www.</span><span class="">patreon.com/Are0h</span><span class="invisible"></span></a>' - } - ], - followers_count: 2, - following: false, - follows_you: false, - friends_count: 0, - id: 701, - is_local: false, - locked: false, - name: 'Are0h', - name_html: 'Are0h', - no_rich_text: false, - profile_image_url: 'https://playvicious.social/system/accounts/avatars/000/000/001/original/33e9983bc2d96aeb.png?1520872572', - profile_image_url_https: 'https://playvicious.social/system/accounts/avatars/000/000/001/original/33e9983bc2d96aeb.png?1520872572', - profile_image_url_original: 'https://playvicious.social/system/accounts/avatars/000/000/001/original/33e9983bc2d96aeb.png?1520872572', - profile_image_url_profile_size: 'https://playvicious.social/system/accounts/avatars/000/000/001/original/33e9983bc2d96aeb.png?1520872572', - rights: { - delete_others_notice: false - }, - screen_name: 'Are0h@playvicious.social', - statuses_count: 6727, - statusnet_blocking: false, - statusnet_profile_url: 'https://playvicious.social/users/Are0h' - } - ] + usersObject: [extUser], + users: [extUser] } } }) const localProfileStore = new Vuex.Store({ mutations, + getters: testGetters, state: { api: { backendInteractor: backendInteractorService('') @@ -137,7 +113,7 @@ const localProfileStore = new Vuex.Store({ followers: [], friends: [], viewing: 'statuses', - userId: 701, + userId: 100, flushMarker: 0 } } @@ -146,52 +122,8 @@ const localProfileStore = new Vuex.Store({ currentUser: { credentials: '' }, - usersObject: [ - { - background_image: null, - cover_photo: 'https://playvicious.social/system/accounts/headers/000/000/001/original/7dae4fc0e8330e83.jpg?1507329206', - created_at: 'Mon Dec 18 16:01:35 +0000 2017', - default_scope: 'public', - description: "Your favorite person's favorite person.", - description_html: "<p>Your favorite person's favorite person.</p>", - favourites_count: 0, - fields: [ - { - name: '✌🏾', - value: '<a href="https://thetwelfth.house" rel="me nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">thetwelfth.house</span><span class="invisible"></span></a>' - }, - { - name: '🚧', - value: '<a href="https://code.playvicio.us" rel="me nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">code.playvicio.us</span><span class="invisible"></span></a>' - }, - { - name: '❤️', - value: '<a href="https://www.patreon.com/Are0h" rel="me nofollow noopener" target="_blank"><span class="invisible">https://www.</span><span class="">patreon.com/Are0h</span><span class="invisible"></span></a>' - } - ], - followers_count: 2, - following: false, - follows_you: false, - friends_count: 0, - id: 701, - is_local: false, - locked: false, - name: 'Are0h', - name_html: 'Are0h', - no_rich_text: false, - profile_image_url: 'https://playvicious.social/system/accounts/avatars/000/000/001/original/33e9983bc2d96aeb.png?1520872572', - profile_image_url_https: 'https://playvicious.social/system/accounts/avatars/000/000/001/original/33e9983bc2d96aeb.png?1520872572', - profile_image_url_original: 'https://playvicious.social/system/accounts/avatars/000/000/001/original/33e9983bc2d96aeb.png?1520872572', - profile_image_url_profile_size: 'https://playvicious.social/system/accounts/avatars/000/000/001/original/33e9983bc2d96aeb.png?1520872572', - rights: { - delete_others_notice: false - }, - screen_name: 'Are0h', - statuses_count: 6727, - statusnet_blocking: false, - statusnet_profile_url: 'https://playvicious.social/users/Are0h' - } - ] + usersObject: [localUser], + users: [localUser] } } }) @@ -203,14 +135,14 @@ describe('UserProfile', () => { store: externalProfileStore, mocks: { $route: { - params: { id: 701 }, + params: { id: 100 }, name: 'external-user-profile' }, $t: (msg) => msg } }) - expect(wrapper.find('.user-screen-name').text()).to.eql('@Are0h@playvicious.social') + expect(wrapper.find('.user-screen-name').text()).to.eql('@testUser@test.instance') }) it('renders local profile', () => { @@ -219,13 +151,13 @@ describe('UserProfile', () => { store: localProfileStore, mocks: { $route: { - params: { name: 'Are0h' }, + params: { name: 'testUser' }, name: 'user-profile' }, $t: (msg) => msg } }) - expect(wrapper.find('.user-screen-name').text()).to.eql('@Are0h') + expect(wrapper.find('.user-screen-name').text()).to.eql('@testUser') }) }) diff --git a/test/unit/specs/modules/users.spec.js b/test/unit/specs/modules/users.spec.js index 812ba632..af60c9b3 100644 --- a/test/unit/specs/modules/users.spec.js +++ b/test/unit/specs/modules/users.spec.js @@ -1,34 +1,62 @@ import { cloneDeep } from 'lodash' -import { defaultState, mutations } from '../../../../src/modules/users.js' +import { defaultState, mutations, getters } from '../../../../src/modules/users.js' describe('The users module', () => { - it('adds new users to the set, merging in new information for old users', () => { - const state = cloneDeep(defaultState) - const user = { id: 1, name: 'Guy' } - const modUser = { id: 1, name: 'Dude' } - - mutations.addNewUsers(state, [user]) - expect(state.users).to.have.length(1) - expect(state.users).to.eql([user]) - - mutations.addNewUsers(state, [modUser]) - expect(state.users).to.have.length(1) - expect(state.users).to.eql([user]) - expect(state.users[0].name).to.eql('Dude') - }) + describe('mutations', () => { + it('adds new users to the set, merging in new information for old users', () => { + const state = cloneDeep(defaultState) + const user = { id: 1, name: 'Guy' } + const modUser = { id: 1, name: 'Dude' } + + mutations.addNewUsers(state, [user]) + expect(state.users).to.have.length(1) + expect(state.users).to.eql([user]) + + mutations.addNewUsers(state, [modUser]) + expect(state.users).to.have.length(1) + expect(state.users).to.eql([user]) + expect(state.users[0].name).to.eql('Dude') + }) + + it('sets a mute bit on users', () => { + const state = cloneDeep(defaultState) + const user = { id: 1, name: 'Guy' } - it('sets a mute bit on users', () => { - const state = cloneDeep(defaultState) - const user = { id: 1, name: 'Guy' } + mutations.addNewUsers(state, [user]) + mutations.setMuted(state, {user, muted: true}) - mutations.addNewUsers(state, [user]) - mutations.setMuted(state, {user, muted: true}) + expect(user.muted).to.eql(true) - expect(user.muted).to.eql(true) + mutations.setMuted(state, {user, muted: false}) - mutations.setMuted(state, {user, muted: false}) + expect(user.muted).to.eql(false) + }) + }) + + describe('getUserByName', () => { + it('returns user with matching screen_name', () => { + const state = { + users: [ + { screen_name: 'Guy', id: 1 } + ] + } + const name = 'Guy' + const expected = { screen_name: 'Guy', id: 1 } + expect(getters.userByName(state)(name)).to.eql(expected) + }) + }) - expect(user.muted).to.eql(false) + describe('getUserById', () => { + it('returns user with matching id', () => { + const state = { + users: [ + { screen_name: 'Guy', id: 1 } + ] + } + const id = 1 + const expected = { screen_name: 'Guy', id: 1 } + expect(getters.userById(state)(id)).to.eql(expected) + }) }) }) |
