99 lines
2 KiB
JavaScript
99 lines
2 KiB
JavaScript
import { mount } from '@vue/test-utils'
|
|
import { createStore } from 'vuex'
|
|
|
|
import UserProfile from 'src/components/user_profile/user_profile.vue'
|
|
|
|
import { getters } from 'src/modules/users.js'
|
|
|
|
const mutations = {
|
|
clearTimeline: () => {
|
|
/* no-op */
|
|
},
|
|
}
|
|
|
|
const actions = {
|
|
fetchUser: () => {
|
|
/* no-op */
|
|
},
|
|
fetchUserByScreenName: () => {
|
|
/* no-op */
|
|
},
|
|
}
|
|
|
|
const testGetters = {
|
|
findUser: (state) => getters.findUser(state.users),
|
|
findUserByName: (state) => getters.findUserByName(state.users),
|
|
relationship: (state) => getters.relationship(state.users),
|
|
mergedConfig: () => ({
|
|
colors: '',
|
|
highlight: {},
|
|
customTheme: {
|
|
colors: [],
|
|
},
|
|
}),
|
|
}
|
|
|
|
const localUser = {
|
|
id: 100,
|
|
is_local: true,
|
|
screen_name: 'testUser',
|
|
screen_name_ui: 'testUser',
|
|
}
|
|
|
|
const extUser = {
|
|
id: 100,
|
|
is_local: false,
|
|
screen_name: 'testUser@test.instance',
|
|
screen_name_ui: 'testUser@test.instance',
|
|
}
|
|
|
|
const externalProfileStore = createStore({
|
|
mutations,
|
|
actions,
|
|
getters: testGetters,
|
|
})
|
|
|
|
const localProfileStore = createStore({
|
|
mutations,
|
|
actions,
|
|
getters: testGetters,
|
|
})
|
|
|
|
// https://github.com/vuejs/test-utils/issues/1382
|
|
describe.skip('UserProfile', () => {
|
|
it('renders external profile', () => {
|
|
const wrapper = mount(UserProfile, {
|
|
global: {
|
|
plugins: [externalProfileStore],
|
|
mocks: {
|
|
$route: {
|
|
params: { id: 100 },
|
|
name: 'external-user-profile',
|
|
},
|
|
$t: (msg) => msg,
|
|
},
|
|
},
|
|
})
|
|
|
|
expect(wrapper.find('.user-screen-name').text()).to.eql(
|
|
'@testUser@test.instance',
|
|
)
|
|
})
|
|
|
|
it('renders local profile', () => {
|
|
const wrapper = mount(UserProfile, {
|
|
global: {
|
|
plugins: [localProfileStore],
|
|
mocks: {
|
|
$route: {
|
|
params: { name: 'testUser' },
|
|
name: 'user-profile',
|
|
},
|
|
$t: (msg) => msg,
|
|
},
|
|
},
|
|
})
|
|
|
|
expect(wrapper.find('.user-screen-name').text()).to.eql('@testUser')
|
|
})
|
|
})
|