This commit is contained in:
Andreani Jean
2023-11-21 15:50:17 +01:00
parent 230f978ffa
commit 7341883c14
3 changed files with 60 additions and 6 deletions

View File

@@ -96,7 +96,9 @@ describe('Template', () => {
})
describe('When the user is logged', () => {
it('should render the component with good wording keys', async () => {
vi.spyOn(useCookies().cookies, 'get').mockReturnValue('user_id=id')
vi.spyOn(useCookies().cookies, 'get').mockReturnValue(
'.eJw9y0EKgzAQQNG7zLoDJpmYxMuUySRDra0pooUi3r3SRZcf_tuBRdo2rzDsMBYYgFxRytljkeyQrK0YVT16m6OhUlIihgvM_Kznfa88n9V4W2_XnzcuiqgmDBQMUtYec00WO3XqAndd7OUvXkt7j6Uup5vqRx6NJziOL8SPLNU.ZVy19Q.4DkVxu-LSF11uREkn6YIwHbn_0U'
)
import.meta.env.VITE_API_URL = 'api-url/'
const wrapper = shallowMount(Header, {
@@ -116,7 +118,7 @@ describe('Template', () => {
expect(wrapper.html()).contains('general.header.upload_text')
expect(wrapper.html()).contains('data-test="link-logged-upload"')
expect(wrapper.html()).contains('<account-button')
expect(wrapper.html()).contains('username="UI"')
expect(wrapper.html()).contains('username="J"')
})
})
})

View File

@@ -1,4 +1,4 @@
import { it, describe, expect } from 'vitest'
import { it, describe, expect, vi, beforeEach } from 'vitest'
import {
imageStatus,
photoToDeleteOrPatchSelected,
@@ -6,10 +6,26 @@ import {
formatPaginationItems
} from '../../views/utils/sequence/index'
import { sortByName } from '../../views/utils/upload/index'
import { getAuthRoute } from '../../utils/auth'
import {
getAuthRoute,
decodingFlaskCookie,
hasASessionCookieDecoded
} from '../../utils/auth'
import { img } from '../../utils/image'
import { title } from '../../utils/index'
import { useCookies } from 'vue3-cookies'
vi.mock('vue3-cookies', () => {
const mockCookies = {
get: vi.fn(),
remove: vi.fn(),
keys: vi.fn()
}
return {
useCookies: () => ({
cookies: mockCookies
})
}
})
describe('imageStatus', () => {
it('should render the "status" value', () => {
const sequenceStatus = 'hidden'
@@ -126,6 +142,42 @@ describe('getAuthRoute', () => {
})
})
describe('decodingFlaskCookie', () => {
it('should return a decoded cookie', () => {
const cookie =
'.eJw9y0EKgzAQQNG7zLoDJpmYxMuUySRDra0pooUi3r3SRZcf_tuBRdo2rzDsMBYYgFxRytljkeyQrK0YVT16m6OhUlIihgvM_Kznfa88n9V4W2_XnzcuiqgmDBQMUtYec00WO3XqAndd7OUvXkt7j6Uup5vqRx6NJziOL8SPLNU.ZVy19Q.4DkVxu-LSF11uREkn6YIwHbn_0U'
expect(decodingFlaskCookie(cookie)).toEqual(
JSON.stringify({
account: {
id: '43df4bb5-dcb3-422e-8ff5-52b814dd994a',
name: 'jean',
oauth_id: '138ccff9-7471-4bf6-be92-0f3f37a0086c',
oauth_provider: 'keycloak'
}
})
)
})
})
describe('hasASessionCookieDecoded', () => {
it('should return a cookie parsed', () => {
vi.spyOn(useCookies().cookies, 'get').mockReturnValue(
'.eJw9y0EKgzAQQNG7zLoDJpmYxMuUySRDra0pooUi3r3SRZcf_tuBRdo2rzDsMBYYgFxRytljkeyQrK0YVT16m6OhUlIihgvM_Kznfa88n9V4W2_XnzcuiqgmDBQMUtYec00WO3XqAndd7OUvXkt7j6Uup5vqRx6NJziOL8SPLNU.ZVy19Q.4DkVxu-LSF11uREkn6YIwHbn_0U'
)
expect(hasASessionCookieDecoded()).toEqual({
account: {
id: '43df4bb5-dcb3-422e-8ff5-52b814dd994a',
name: 'jean',
oauth_id: '138ccff9-7471-4bf6-be92-0f3f37a0086c',
oauth_provider: 'keycloak'
}
})
})
it('should return null', () => {
vi.spyOn(useCookies().cookies, 'get').mockReturnValue(null)
expect(hasASessionCookieDecoded()).toBe(null)
})
})
describe('img', () => {
it('should render the formated img path', () => {
const name = 'my-img'

View File

@@ -29,4 +29,4 @@ function hasASessionCookieDecoded(): { account: { name: string } } | null {
return null
}
export { getAuthRoute, hasASessionCookieDecoded }
export { getAuthRoute, hasASessionCookieDecoded, decodingFlaskCookie }