mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2026-09-09 18:02:54 +00:00
Merge pull request #43 from Alfresco/adina-tests-fixes
[ACA-964] some tests fixes
This commit is contained in:
@@ -19,7 +19,7 @@ import { by, ElementFinder, promise } from 'protractor';
|
||||
import { Component } from '../component';
|
||||
|
||||
export class LoginComponent extends Component {
|
||||
static selector = 'alfresco-login';
|
||||
static selector = 'adf-login';
|
||||
|
||||
private locators = {
|
||||
usernameInput: by.css('input#username'),
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
import { browser, element, by, ElementFinder, promise } from 'protractor';
|
||||
|
||||
export abstract class Page {
|
||||
private static USE_HASH_STRATEGY = true;
|
||||
private static USE_HASH_STRATEGY = false;
|
||||
|
||||
private locators = {
|
||||
app: by.css('app-root'),
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
import { protractor, browser, by, ElementFinder } from 'protractor';
|
||||
|
||||
import { APP_ROUTES, BROWSER_WAIT_TIMEOUT } from '../../configs';
|
||||
import { APP_ROUTES, BROWSER_WAIT_TIMEOUT, SITE_VISIBILITY, SITE_ROLES } from '../../configs';
|
||||
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
||||
import { CreateOrEditFolderDialog } from '../../components/dialog/create-edit-folder-dialog';
|
||||
import { LocalStorageUtility } from '../../utilities/local-storage';
|
||||
@@ -31,7 +31,9 @@ describe('Create folder', () => {
|
||||
const folderName2 = 'my-folder2';
|
||||
const folderDescription = 'description of my folder';
|
||||
const duplicateFolderName = 'duplicate-folder-name';
|
||||
const nameWithSpaces = ' folder name ';
|
||||
const nameWithSpaces = ' folder-name ';
|
||||
|
||||
const siteName = 'site-private';
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
@@ -55,6 +57,9 @@ describe('Create folder', () => {
|
||||
|
||||
beforeAll(done => {
|
||||
apis.admin.people.createUser(username, password)
|
||||
.then(() => apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE))
|
||||
.then(() => apis.admin.nodes.createFolders([ folderName1 ], `Sites/${siteName}/documentLibrary`))
|
||||
.then(() => apis.admin.sites.addSiteMember(siteName, username, SITE_ROLES.SITE_CONSUMER))
|
||||
.then(() => apis.user.nodes.createFolders([ duplicateFolderName ]))
|
||||
.then(() => loginPage.load())
|
||||
.then(() => loginPage.loginWith(username, password))
|
||||
@@ -143,11 +148,12 @@ describe('Create folder', () => {
|
||||
});
|
||||
|
||||
it('option is disabled when not enough permissions', () => {
|
||||
// refactor after implementing Breadcrumb automation component
|
||||
const breadcrumbRoot: ElementFinder = protractor.element(by.css('.adf-breadcrumb-item[title="User Homes"]'));
|
||||
const fileLibrariesPage = new BrowsingPage(APP_ROUTES.FILE_LIBRARIES);
|
||||
|
||||
browser.actions().mouseMove(breadcrumbRoot).click().perform()
|
||||
.then(() => personalFilesPage.sidenav.openNewMenu())
|
||||
fileLibrariesPage.sidenav.navigateToLinkByLabel('File Libraries')
|
||||
.then(() => fileLibrariesPage.dataTable.doubleClickOnRowByContainingText(siteName))
|
||||
.then(() => fileLibrariesPage.dataTable.doubleClickOnRowByContainingText(folderName1))
|
||||
.then(() => fileLibrariesPage.sidenav.openNewMenu())
|
||||
.then(menu => {
|
||||
const isEnabled = menu.getItemByLabel('Create folder').getWebElement().isEnabled();
|
||||
expect(isEnabled).toBe(false, 'Create folder is not disabled');
|
||||
@@ -155,11 +161,12 @@ describe('Create folder', () => {
|
||||
});
|
||||
|
||||
it('disabled option tooltip', () => {
|
||||
// refactor after implementing Breadcrumb automation component
|
||||
const breadcrumbRoot: ElementFinder = protractor.element(by.css('.adf-breadcrumb-item[title="User Homes"]'));
|
||||
const fileLibrariesPage = new BrowsingPage(APP_ROUTES.FILE_LIBRARIES);
|
||||
|
||||
browser.actions().mouseMove(breadcrumbRoot).click().perform()
|
||||
.then(() => personalFilesPage.sidenav.openNewMenu())
|
||||
fileLibrariesPage.sidenav.navigateToLinkByLabel('File Libraries')
|
||||
.then(() => fileLibrariesPage.dataTable.doubleClickOnRowByContainingText(siteName))
|
||||
.then(() => fileLibrariesPage.dataTable.doubleClickOnRowByContainingText(folderName1))
|
||||
.then(() => fileLibrariesPage.sidenav.openNewMenu())
|
||||
.then(menu => {
|
||||
const action = browser.actions().mouseMove(menu.getItemByLabel('Create folder'));
|
||||
action.perform()
|
||||
|
||||
@@ -44,7 +44,7 @@ describe('Edit folder', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const logoutPage = new LogoutPage();
|
||||
const personalFilesPage = new BrowsingPage();
|
||||
const personalFilesPage = new BrowsingPage(APP_ROUTES.PERSONAL_FILES);
|
||||
const editDialog = new CreateOrEditFolderDialog();
|
||||
const dataTable = personalFilesPage.dataTable;
|
||||
const editButton = personalFilesPage.toolbar.actions.getButtonByTitleAttribute('Edit');
|
||||
@@ -130,7 +130,7 @@ describe('Edit folder', () => {
|
||||
});
|
||||
|
||||
it('button is not displayed when not enough permissions', () => {
|
||||
const fileLibrariesPage = new BrowsingPage();
|
||||
const fileLibrariesPage = new BrowsingPage(APP_ROUTES.FILE_LIBRARIES);
|
||||
|
||||
fileLibrariesPage.sidenav.navigateToLinkByLabel('File Libraries')
|
||||
.then(() => fileLibrariesPage.dataTable.doubleClickOnRowByContainingText(siteName))
|
||||
|
||||
+7
-7
@@ -46,14 +46,14 @@
|
||||
"@angular/cli": "1.4.7",
|
||||
"@angular/compiler-cli": "4.4.5",
|
||||
"@angular/language-service": "4.4.5",
|
||||
"@types/jasmine": "~2.5.53",
|
||||
"@types/jasminewd2": "~2.0.2",
|
||||
"@types/jasmine": "^2.5.53",
|
||||
"@types/jasminewd2": "^2.0.2",
|
||||
"@types/node": "~6.0.60",
|
||||
"codelyzer": "~3.2.0",
|
||||
"jasmine-core": "~2.6.2",
|
||||
"jasmine-reporters": "2.2.1",
|
||||
"jasmine-spec-reporter": "~4.1.0",
|
||||
"jasmine2-protractor-utils": "1.3.0",
|
||||
"jasmine-core": "^2.6.2",
|
||||
"jasmine-reporters": "^2.2.1",
|
||||
"jasmine-spec-reporter": "^4.1.0",
|
||||
"jasmine2-protractor-utils": "^1.3.0",
|
||||
"karma": "~1.7.0",
|
||||
"karma-chrome-launcher": "~2.1.1",
|
||||
"karma-cli": "~1.0.1",
|
||||
@@ -61,7 +61,7 @@
|
||||
"karma-jasmine": "~1.1.0",
|
||||
"karma-jasmine-html-reporter": "^0.2.2",
|
||||
"node-rest-client": "^3.1.0",
|
||||
"protractor": "~5.1.2",
|
||||
"protractor": "^5.1.2",
|
||||
"ts-node": "~3.2.0",
|
||||
"tslint": "~5.7.0",
|
||||
"typescript": "~2.3.3"
|
||||
|
||||
+48
-43
@@ -8,49 +8,54 @@ const jasmineReporters = require('jasmine-reporters');
|
||||
const projectRoot = path.resolve(__dirname);
|
||||
|
||||
exports.config = {
|
||||
allScriptsTimeout: 11000,
|
||||
specs: [
|
||||
'./e2e/**/*.test.ts'
|
||||
],
|
||||
capabilities: {
|
||||
'browserName': 'chrome',
|
||||
chromeOptions: {
|
||||
prefs: {
|
||||
'credentials_enable_service': false
|
||||
allScriptsTimeout: 11000,
|
||||
specs: [
|
||||
'./e2e/suites/authentication/*.test.ts',
|
||||
'./e2e/suites/list-views/*.test.ts',
|
||||
'./e2e/suites/application/page-titles.test.ts',
|
||||
'./e2e/suites/navigation/side-navigation.test.ts',
|
||||
'./e2e/suites/pagination/pagination.test.ts',
|
||||
'./e2e/suites/actions/*.test.ts'
|
||||
],
|
||||
capabilities: {
|
||||
'browserName': 'chrome',
|
||||
chromeOptions: {
|
||||
prefs: {
|
||||
'credentials_enable_service': false
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
directConnect: true,
|
||||
baseUrl: 'http://localhost:3000',
|
||||
framework: 'jasmine',
|
||||
jasmineNodeOpts: {
|
||||
showColors: true,
|
||||
defaultTimeoutInterval: 30000,
|
||||
print: function() {}
|
||||
},
|
||||
plugins: [{
|
||||
package: 'jasmine2-protractor-utils',
|
||||
disableHTMLReport: false,
|
||||
disableScreenshot: false,
|
||||
screenshotOnExpectFailure: true,
|
||||
screenshotOnSpecFailure: false,
|
||||
clearFoldersBeforeTest: true,
|
||||
htmlReportDir: `${projectRoot}/e2e-output/html-report/`,
|
||||
screenshotPath: `${projectRoot}/e2e-output/screenshots/`
|
||||
}],
|
||||
onPrepare() {
|
||||
require('ts-node').register({
|
||||
project: 'e2e/tsconfig.e2e.json'
|
||||
});
|
||||
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
|
||||
},
|
||||
directConnect: true,
|
||||
baseUrl: 'http://localhost:3000',
|
||||
framework: 'jasmine2',
|
||||
jasmineNodeOpts: {
|
||||
showColors: true,
|
||||
defaultTimeoutInterval: 30000,
|
||||
print: function() {}
|
||||
},
|
||||
plugins: [{
|
||||
package: 'jasmine2-protractor-utils',
|
||||
disableHTMLReport: false,
|
||||
disableScreenshot: false,
|
||||
screenshotOnExpectFailure: true,
|
||||
screenshotOnSpecFailure: false,
|
||||
clearFoldersBeforeTest: true,
|
||||
htmlReportDir: `${projectRoot}/e2e-output/html-report/`,
|
||||
screenshotPath: `${projectRoot}/e2e-output/screenshots/`
|
||||
}],
|
||||
onPrepare() {
|
||||
require('ts-node').register({
|
||||
project: 'e2e/tsconfig.e2e.json'
|
||||
});
|
||||
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
|
||||
|
||||
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
|
||||
consolidateAll: true,
|
||||
savePath: `${projectRoot}/e2e-output/junit-report`,
|
||||
filePrefix: 'results.xml',
|
||||
useDotNotation: false,
|
||||
useFullTestName: false,
|
||||
reportFailedUrl: true
|
||||
}));
|
||||
}
|
||||
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
|
||||
consolidateAll: true,
|
||||
savePath: `${projectRoot}/e2e-output/junit-report`,
|
||||
filePrefix: 'results.xml',
|
||||
useDotNotation: false,
|
||||
useFullTestName: false,
|
||||
reportFailedUrl: true
|
||||
}));
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user