Skip to content
Snippets Groups Projects
Commit 37990412 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-1414 OZG-3106 move actions to current user component

parent 1d1f4533
No related branches found
No related tags found
No related merge requests found
import { UserProfileE2EComponent } from "./user-profile.component.e2e"; import { UserProfileE2EComponent } from './user-profile.component.e2e';
export class CurrentUserProfileE2EComponent { export class CurrentUserProfileE2EComponent {
private readonly locatorUserIconButton: string = 'user-icon-button';
private readonly locatorLogoutButton: string = 'logout-button';
private readonly locatorRoot: string = 'current-user'; private readonly locatorRoot: string = 'current-user';
public getRoot() { public getRoot() {
...@@ -11,4 +14,17 @@ export class CurrentUserProfileE2EComponent { ...@@ -11,4 +14,17 @@ export class CurrentUserProfileE2EComponent {
public getUserProfile(): UserProfileE2EComponent { public getUserProfile(): UserProfileE2EComponent {
return new UserProfileE2EComponent(this.locatorRoot); return new UserProfileE2EComponent(this.locatorRoot);
} }
public logout(): void {
this.getUserIconButton().click();
this.getLogoutButton().click();
}
private getUserIconButton() {
return cy.getTestElement(this.locatorUserIconButton);
}
private getLogoutButton() {
return cy.getTestElement(this.locatorLogoutButton);
}
} }
\ No newline at end of file
import { App } from 'apps/goofy-e2e/src/model/app';
import { getApp } from 'apps/goofy-e2e/src/support/app-util';
import { UserE2E } from '../../../model/user'; import { UserE2E } from '../../../model/user';
import { HeaderE2EComponent } from '../../../page-objects/header.po'; import { HeaderE2EComponent } from '../../../page-objects/header.po';
import { MainPage } from '../../../page-objects/main.po'; import { MainPage } from '../../../page-objects/main.po';
import { exist, haveText } from '../../../support/cypress.util'; import { exist, haveText } from '../../../support/cypress.util';
import { getUserSabine } from '../../../support/user-util'; import { getUserSabine } from '../../../support/user-util';
const mainFixture = require('../../../fixtures/main.json'); describe('Login and Logout', () => {
const app: App = getApp();
const user: UserE2E = getUserSabine(); const user: UserE2E = getUserSabine();
describe('Login and Logout', () => {
const mainPage: MainPage = new MainPage(); const mainPage: MainPage = new MainPage();
const header: HeaderE2EComponent = mainPage.getHeader(); const header: HeaderE2EComponent = mainPage.getHeader();
...@@ -24,11 +27,11 @@ describe('Login and Logout', () => { ...@@ -24,11 +27,11 @@ describe('Login and Logout', () => {
}) })
it('should display Goofy', () => { it('should display Goofy', () => {
haveText(header.getTitle(), mainFixture.title); haveText(header.getTitle(), app.title);
}) })
it.skip('FIXME(OZG-2950 UserManager) should logout', () => { it('should logout', () => {
header.logout(); header.getCurrentUserProfile().logout();
exist(cy.get('#kc-login')); exist(cy.get('#kc-login'));
}) })
......
export class App {
title: string
}
\ No newline at end of file
...@@ -3,8 +3,6 @@ import { UserSettingsE2EComponent } from "../components/user-settings/user-setti ...@@ -3,8 +3,6 @@ import { UserSettingsE2EComponent } from "../components/user-settings/user-setti
export class HeaderE2EComponent { export class HeaderE2EComponent {
private readonly locatorUserIconButton: string = 'user-icon-button';
private readonly locatorLogoutButton: string = 'logout-button';
private readonly locatorTitle: string = 'title'; private readonly locatorTitle: string = 'title';
private readonly locatorRoot: string = 'header'; private readonly locatorRoot: string = 'header';
...@@ -19,20 +17,6 @@ export class HeaderE2EComponent { ...@@ -19,20 +17,6 @@ export class HeaderE2EComponent {
return cy.getTestElement(this.locatorTitle); return cy.getTestElement(this.locatorTitle);
} }
//TODO: in CurrentUserProfileE2EComponent verschieben
public logout(): void {
this.getUserIconButton().click();
this.getLogoutButton().click();
}
private getUserIconButton() {
return cy.getTestElement(this.locatorUserIconButton);
}
private getLogoutButton() {
return cy.getTestElement(this.locatorLogoutButton);
}
//
public getUserSettings(): UserSettingsE2EComponent { public getUserSettings(): UserSettingsE2EComponent {
return this.userSettings; return this.userSettings;
} }
......
import { App } from '../model/app';
//TODO main.json in app.json umbenennen
const appFixture: App = require('../fixtures/main.json');
export function getApp(): App {
return appFixture;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment