mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
add test example
This commit is contained in:
parent
ee80c65643
commit
6b670c7878
46
frontend/src/components/SessionLogoutTimeout.spec.js
Normal file
46
frontend/src/components/SessionLogoutTimeout.spec.js
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import { mount } from '@vue/test-utils'
|
||||||
|
import SessionLogoutTimeout from './SessionLogoutTimeout'
|
||||||
|
|
||||||
|
const localVue = global.localVue
|
||||||
|
|
||||||
|
const apolloQueryMock = jest.fn()
|
||||||
|
|
||||||
|
const state = {
|
||||||
|
token: '1234',
|
||||||
|
tokenTime: '123456789',
|
||||||
|
}
|
||||||
|
|
||||||
|
const mocks = {
|
||||||
|
$store: {
|
||||||
|
state,
|
||||||
|
},
|
||||||
|
$i18n: {
|
||||||
|
locale: 'en',
|
||||||
|
},
|
||||||
|
$t: jest.fn((t) => t),
|
||||||
|
$apollo: {
|
||||||
|
query: apolloQueryMock,
|
||||||
|
},
|
||||||
|
$route: {
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
describe('SessionLogoutTimeout', () => {
|
||||||
|
let wrapper
|
||||||
|
|
||||||
|
const Wrapper = () => {
|
||||||
|
return mount(SessionLogoutTimeout, { localVue, mocks })
|
||||||
|
}
|
||||||
|
describe('mount', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
wrapper = Wrapper()
|
||||||
|
})
|
||||||
|
|
||||||
|
it('renders the component div.transaction-link', () => {
|
||||||
|
expect(wrapper.find('div.session-logout-timeout').exists()).toBe(true)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
@ -61,7 +61,7 @@ export default {
|
|||||||
this.$emit('logout')
|
this.$emit('logout')
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async log() {
|
log() {
|
||||||
if (this.$route.meta.requiresAuth) {
|
if (this.$route.meta.requiresAuth) {
|
||||||
const now = new Date().getTime()
|
const now = new Date().getTime()
|
||||||
const exp = new Date(this.$store.state.tokenTime * 1000).getTime()
|
const exp = new Date(this.$store.state.tokenTime * 1000).getTime()
|
||||||
|
|||||||
@ -28,6 +28,7 @@ export const mutations = {
|
|||||||
token: (state, token) => {
|
token: (state, token) => {
|
||||||
state.token = token
|
state.token = token
|
||||||
if (token) {
|
if (token) {
|
||||||
|
// console.log(jwtDecode(token))
|
||||||
state.tokenTime = jwtDecode(token).exp
|
state.tokenTime = jwtDecode(token).exp
|
||||||
} else {
|
} else {
|
||||||
state.tokenTime = null
|
state.tokenTime = null
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import Vuex from 'vuex'
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import i18n from '@/i18n.js'
|
import i18n from '@/i18n.js'
|
||||||
import { localeChanged } from 'vee-validate'
|
import { localeChanged } from 'vee-validate'
|
||||||
|
import jwtDecode from 'jwt-decode'
|
||||||
|
|
||||||
jest.mock('vuex')
|
jest.mock('vuex')
|
||||||
jest.mock('@/i18n.js')
|
jest.mock('@/i18n.js')
|
||||||
@ -11,6 +12,7 @@ jest.mock('vee-validate', () => {
|
|||||||
localeChanged: jest.fn(),
|
localeChanged: jest.fn(),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
jest.mock('jwtDecode')
|
||||||
|
|
||||||
i18n.locale = 'blubb'
|
i18n.locale = 'blubb'
|
||||||
|
|
||||||
@ -18,6 +20,7 @@ const {
|
|||||||
language,
|
language,
|
||||||
email,
|
email,
|
||||||
token,
|
token,
|
||||||
|
tokenTime,
|
||||||
firstName,
|
firstName,
|
||||||
lastName,
|
lastName,
|
||||||
newsletterState,
|
newsletterState,
|
||||||
@ -59,6 +62,52 @@ describe('Vuex store', () => {
|
|||||||
token(state, '1234')
|
token(state, '1234')
|
||||||
expect(state.token).toEqual('1234')
|
expect(state.token).toEqual('1234')
|
||||||
})
|
})
|
||||||
|
it('sets the state of tokenTime', () => {
|
||||||
|
const state = { token: null, tokenTime: null }
|
||||||
|
token(state, {
|
||||||
|
pubKey: {
|
||||||
|
type: 'Buffer',
|
||||||
|
data: [
|
||||||
|
162,
|
||||||
|
79,
|
||||||
|
237,
|
||||||
|
250,
|
||||||
|
146,
|
||||||
|
219,
|
||||||
|
92,
|
||||||
|
105,
|
||||||
|
254,
|
||||||
|
47,
|
||||||
|
217,
|
||||||
|
63,
|
||||||
|
204,
|
||||||
|
175,
|
||||||
|
104,
|
||||||
|
149,
|
||||||
|
182,
|
||||||
|
28,
|
||||||
|
168,
|
||||||
|
76,
|
||||||
|
45,
|
||||||
|
130,
|
||||||
|
116,
|
||||||
|
61,
|
||||||
|
133,
|
||||||
|
40,
|
||||||
|
177,
|
||||||
|
60,
|
||||||
|
33,
|
||||||
|
156,
|
||||||
|
99,
|
||||||
|
250,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
iat: 1655963974,
|
||||||
|
exp: 1655964574,
|
||||||
|
})
|
||||||
|
tokenTime(state, jwtDecode(token).exp)
|
||||||
|
expect(state.tokenTime).toEqual('1655964574')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('firstName', () => {
|
describe('firstName', () => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user