forked from Ivasoft/geovisio-website
Merge branch 'feat/logout' into 'main'
Feat/logout : fix tests See merge request geovisio/website!20
This commit is contained in:
@@ -1,5 +1,36 @@
|
||||
geovisio-publish:
|
||||
stage: deploy
|
||||
stages:
|
||||
- 'Install'
|
||||
- 'Test'
|
||||
- 'Deploy'
|
||||
|
||||
before_script:
|
||||
## chmod is unfortunately currently mandatory : https://github.com/nodejs/docker-node/issues/661
|
||||
- npm install -g yarn@1.22.19 && chmod +x /usr/local/lib/node_modules/yarn/bin/yarn.js
|
||||
|
||||
install:
|
||||
stage: Install
|
||||
image: node:18.13.0
|
||||
script:
|
||||
- yarn install
|
||||
artifacts:
|
||||
name: 'artifacts'
|
||||
untracked: true
|
||||
expire_in: 30 mins
|
||||
paths:
|
||||
- .yarn/
|
||||
- node_modules/
|
||||
|
||||
test:
|
||||
stage: Test
|
||||
image: node:18.13.0
|
||||
script:
|
||||
- yarn test:unit
|
||||
dependencies:
|
||||
- install
|
||||
coverage: /All files[^|]*\|[^|]*\s+([\d\.]+)/
|
||||
|
||||
deploy:
|
||||
stage: Deploy
|
||||
image: node:18.13.0
|
||||
cache:
|
||||
paths:
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { it, test, describe, expect } from 'vitest'
|
||||
import { vi, it, test, describe, expect } from 'vitest'
|
||||
import { mount } from '@vue/test-utils'
|
||||
import Header from '../Header.vue'
|
||||
vi.mock('vue-router')
|
||||
|
||||
describe('Template Snapshot test', () => {
|
||||
describe('When the user is not logged', () => {
|
||||
it('should render the component with his childs', () => {
|
||||
@@ -20,7 +22,11 @@ describe('Template Snapshot test', () => {
|
||||
})
|
||||
})
|
||||
describe('When the user is logged', () => {
|
||||
it('should render the component with his childs', () => {
|
||||
it('should render the component with his childs', async () => {
|
||||
const VueRouter = await import('vue-router')
|
||||
VueRouter.useRoute.mockReturnValueOnce({
|
||||
path: 'my-path'
|
||||
})
|
||||
Object.defineProperty(document, 'cookie', {
|
||||
value: 'user_id=abc123'
|
||||
})
|
||||
@@ -34,6 +40,11 @@ describe('Template Snapshot test', () => {
|
||||
template: '<a />'
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
logoutUrl() {
|
||||
return 'test'
|
||||
}
|
||||
}
|
||||
})
|
||||
expect(wrapper.element).toMatchSnapshot()
|
||||
@@ -44,6 +55,10 @@ describe('Template Snapshot test', () => {
|
||||
describe('Methods', () => {
|
||||
describe('toggleMenu', () => {
|
||||
test('should change menuIsClosed value', async () => {
|
||||
const VueRouter = await import('vue-router')
|
||||
VueRouter.useRoute.mockReturnValueOnce({
|
||||
path: 'my-path'
|
||||
})
|
||||
const wrapper = mount(Header, {
|
||||
global: {
|
||||
mocks: {
|
||||
|
||||
@@ -5,6 +5,24 @@ exports[`Template Snapshot test > When the user is logged > should render the co
|
||||
class="header"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<div
|
||||
class="wrapper-beta-mobile"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<p
|
||||
class="instance-beta"
|
||||
data-v-0e5edcf4=""
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
general.header.title
|
||||
<span
|
||||
class="beta"
|
||||
data-v-0e5edcf4=""
|
||||
>
|
||||
general.beta_version
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<nav
|
||||
class="nav"
|
||||
data-v-a81738bd=""
|
||||
@@ -20,66 +38,112 @@ exports[`Template Snapshot test > When the user is logged > should render the co
|
||||
target="_blank"
|
||||
type="external"
|
||||
/>
|
||||
<p
|
||||
<div
|
||||
class="wrapper-beta-desktop"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
general.header.title
|
||||
<span
|
||||
class="beta"
|
||||
<p
|
||||
class="instance-beta"
|
||||
data-v-0e5edcf4=""
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
general.beta_version
|
||||
</span>
|
||||
</p>
|
||||
general.header.title
|
||||
<span
|
||||
class="beta"
|
||||
data-v-0e5edcf4=""
|
||||
>
|
||||
general.beta_version
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<ul
|
||||
class="nav-list"
|
||||
<div
|
||||
class="wrapper-entries"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<li
|
||||
class="nav-list-item"
|
||||
<ul
|
||||
class="nav-list"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<a
|
||||
<li
|
||||
class="item-logout"
|
||||
data-v-a81738bd=""
|
||||
disabled="true"
|
||||
path="/"
|
||||
>
|
||||
general.header.contribute_text
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="nav-list-item"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<a
|
||||
<a
|
||||
data-v-a81738bd=""
|
||||
path="undefinedauth/logout?next_url=my-path"
|
||||
type="external"
|
||||
>
|
||||
general.header.logout_text
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="nav-list-item"
|
||||
data-v-a81738bd=""
|
||||
disabled="true"
|
||||
path="/"
|
||||
>
|
||||
general.header.help_text
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
<a
|
||||
data-v-a81738bd=""
|
||||
disabled="true"
|
||||
path="/"
|
||||
>
|
||||
general.header.contribute_text
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="nav-list-item"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<a
|
||||
data-v-a81738bd=""
|
||||
disabled="true"
|
||||
path="/"
|
||||
>
|
||||
general.header.help_text
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div
|
||||
class="wrapper-right-entries"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<a
|
||||
<div
|
||||
class="item-with-sub"
|
||||
data-v-a81738bd=""
|
||||
icon="bi bi-person-circle"
|
||||
path="https://panoramax.ign.fr/oauth/realms/geovisio/account/#/personal-info"
|
||||
type="external"
|
||||
/>
|
||||
</li>
|
||||
</ul>
|
||||
<button
|
||||
class="menu-burger"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<i
|
||||
class="bi bi-list"
|
||||
data-v-a81738bd=""
|
||||
/>
|
||||
</button>
|
||||
>
|
||||
<a
|
||||
data-v-a81738bd=""
|
||||
icon="bi bi-person-circle"
|
||||
path=""
|
||||
type="external"
|
||||
/>
|
||||
<i
|
||||
class="chevron bi bi-chevron-up"
|
||||
data-v-a81738bd=""
|
||||
/>
|
||||
<div
|
||||
class="sub-nav-block"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<a
|
||||
data-v-a81738bd=""
|
||||
path="undefinedauth/logout?next_url=my-path"
|
||||
type="external"
|
||||
>
|
||||
general.header.logout_text
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
class="menu-burger"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<i
|
||||
class="bi bi-list"
|
||||
data-v-a81738bd=""
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
`;
|
||||
@@ -89,6 +153,24 @@ exports[`Template Snapshot test > When the user is not logged > should render th
|
||||
class="header"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<div
|
||||
class="wrapper-beta-mobile"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<p
|
||||
class="instance-beta"
|
||||
data-v-0e5edcf4=""
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
general.header.title
|
||||
<span
|
||||
class="beta"
|
||||
data-v-0e5edcf4=""
|
||||
>
|
||||
general.beta_version
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<nav
|
||||
class="nav"
|
||||
data-v-a81738bd=""
|
||||
@@ -104,66 +186,87 @@ exports[`Template Snapshot test > When the user is not logged > should render th
|
||||
target="_blank"
|
||||
type="external"
|
||||
/>
|
||||
<p
|
||||
<div
|
||||
class="wrapper-beta-desktop"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
general.header.title
|
||||
<span
|
||||
class="beta"
|
||||
<p
|
||||
class="instance-beta"
|
||||
data-v-0e5edcf4=""
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
general.beta_version
|
||||
</span>
|
||||
</p>
|
||||
general.header.title
|
||||
<span
|
||||
class="beta"
|
||||
data-v-0e5edcf4=""
|
||||
>
|
||||
general.beta_version
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<ul
|
||||
class="nav-list"
|
||||
<div
|
||||
class="wrapper-entries"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<li
|
||||
class="nav-list-item"
|
||||
<ul
|
||||
class="nav-list"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<a
|
||||
<!--v-if-->
|
||||
<li
|
||||
class="nav-list-item"
|
||||
data-v-a81738bd=""
|
||||
disabled="true"
|
||||
path="/"
|
||||
>
|
||||
general.header.contribute_text
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="nav-list-item"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<a
|
||||
<a
|
||||
data-v-a81738bd=""
|
||||
disabled="true"
|
||||
path="/"
|
||||
>
|
||||
general.header.contribute_text
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="nav-list-item"
|
||||
data-v-a81738bd=""
|
||||
disabled="true"
|
||||
path="/"
|
||||
>
|
||||
general.header.help_text
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
<a
|
||||
data-v-a81738bd=""
|
||||
disabled="true"
|
||||
path="/"
|
||||
>
|
||||
general.header.help_text
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div
|
||||
class="wrapper-right-entries"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<a
|
||||
<div
|
||||
class="item-with-sub"
|
||||
data-v-a81738bd=""
|
||||
icon="bi bi-person-circle"
|
||||
path="https://panoramax.ign.fr/api/auth/login"
|
||||
type="external"
|
||||
/>
|
||||
</li>
|
||||
</ul>
|
||||
<button
|
||||
class="menu-burger"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<i
|
||||
class="bi bi-list"
|
||||
data-v-a81738bd=""
|
||||
/>
|
||||
</button>
|
||||
>
|
||||
<a
|
||||
data-v-a81738bd=""
|
||||
icon="bi bi-person-circle"
|
||||
path="undefinedauth/login"
|
||||
type="external"
|
||||
/>
|
||||
<!--v-if-->
|
||||
<!--v-if-->
|
||||
</div>
|
||||
<button
|
||||
class="menu-burger"
|
||||
data-v-a81738bd=""
|
||||
>
|
||||
<i
|
||||
class="bi bi-list"
|
||||
data-v-a81738bd=""
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
`;
|
||||
|
||||
@@ -98,7 +98,7 @@ onMounted(async () => {
|
||||
}
|
||||
@media (max-width: 500px) {
|
||||
.entry-page {
|
||||
padding-top: 12rem;
|
||||
padding-top: 11rem;
|
||||
}
|
||||
.entry-viewer {
|
||||
min-height: -webkit-fill-available;
|
||||
|
||||
Reference in New Issue
Block a user