[ADF-3594] Create automated test for Show more/less button on Tag page (#3825)

* [ADF-3594] Create automated test for Show more/ less button on Tag component

* Converting double quotes to single quotes
This commit is contained in:
jdosti 2018-09-25 21:36:31 +01:00 committed by Eugenio Romano
parent ab4f964f7f
commit 8c0bcccfeb
2 changed files with 109 additions and 3 deletions

View File

@ -36,21 +36,31 @@ describe('Tag component', () => {
let tagPage = new TagPage();
let acsUser = new AcsUserModel();
let uploadActions = new UploadActions();
let pdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name });
let deleteFile = new FileModel({ 'name': Util.generateRandomString() });
let sameTag = Util.generateRandomStringToLowerCase();
let tagList = [
Util.generateRandomStringToLowerCase(),
Util.generateRandomStringToLowerCase(),
Util.generateRandomStringToLowerCase(),
Util.generateRandomStringToLowerCase()];
let tags = [
{tag: 'test-tag-01'}, {tag: 'test-tag-02'}, {tag: 'test-tag-03'}, {tag: 'test-tag-04'}, {tag: 'test-tag-05'},
{tag: 'test-tag-06'}, {tag: 'test-tag-07'}, {tag: 'test-tag-08'}, {tag: 'test-tag-09'}, {tag: 'test-tag-10'},
{tag: 'test-tag-11'}, {tag: 'test-tag-12'}, {tag: 'test-tag-13'}, {tag: 'test-tag-14'}, {tag: 'test-tag-15'},
{tag: 'test-tag-16'}, {tag: 'test-tag-17'}, {tag: 'test-tag-18'}, {tag: 'test-tag-19'}, {tag: 'test-tag-20'},
{tag: 'test-tag-21'}, {tag: 'test-tag-22'}, {tag: 'test-tag-23'}, {tag: 'test-tag-24'}, {tag: 'test-tag-25'},
{tag: 'test-tag-26'}, {tag: 'test-tag-27'}, {tag: 'test-tag-28'}, {tag: 'test-tag-29'}, {tag: 'test-tag-30'}];
let uppercaseTag = Util.generateRandomStringToUpperCase();
let digitsTag = Util.generateRandomStringDigits();
let nonLatinTag = Util.generateRandomStringNonLatin();
let pdfUploadedFile, nodeId;
beforeAll(async (done) => {
let uploadActions = new UploadActions();
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: TestConfig.adf.url
@ -62,7 +72,9 @@ describe('Tag component', () => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
let pdfUploadedFile = await uploadActions.uploadFile(this.alfrescoJsApi, pdfFileModel.location, pdfFileModel.name, '-my-');
pdfUploadedFile = await uploadActions.uploadFile(this.alfrescoJsApi, pdfFileModel.location, pdfFileModel.name, '-my-');
nodeId = pdfUploadedFile.entry.id;
let uploadedDeleteFile = await uploadActions.uploadFile(this.alfrescoJsApi, deleteFile.location, deleteFile.name, '-my-');
@ -70,6 +82,8 @@ describe('Tag component', () => {
Object.assign(deleteFile, uploadedDeleteFile.entry);
await this.alfrescoJsApi.core.tagsApi.addTag(nodeId, tags);
loginPage.loginToContentServicesUsingUserModel(acsUser);
tagPage.goToTagPage();
@ -77,6 +91,12 @@ describe('Tag component', () => {
done();
});
afterAll(async (done) => {
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, pdfUploadedFile.entry.id);
done();
});
it('[C260374] Tag node ID', () => {
expect(tagPage.getNodeId()).toEqual('');
expect(tagPage.getNewTagPlaceholder()).toEqual('New Tag');
@ -176,4 +196,37 @@ describe('Tag component', () => {
tagPage.checkDeleteTagFromTagListByNodeIdIsNotDisplayed(tagList[3]);
});
it('[C286472] Should be able to click Show more/less button on "List Tags Content Services"', async() => {
await browser.refresh();
await tagPage.checkShowMoreButtonIsDisplayed();
await tagPage.checkShowLessButtonIsNotDisplayed();
expect(tagPage.checkTagsOnList()).toEqual(10);
await tagPage.clickShowMoreButton();
await tagPage.checkShowMoreButtonIsDisplayed();
await tagPage.checkShowLessButtonIsDisplayed();
await tagPage.clickShowMoreButtonUntilNotDisplayed();
await tagPage.checkShowLessButtonIsDisplayed();
await tagPage.checkShowMoreButtonIsNotDisplayed();
let totalTags = await this.alfrescoJsApi.core.tagsApi.getTags({maxItems: 400});
let totalNumberOfTags = totalTags.list.pagination.count;
expect(tagPage.checkTagsOnList()).toEqual(totalNumberOfTags);
await tagPage.clickShowLessButton();
await tagPage.checkShowMoreButtonIsDisplayed();
await tagPage.checkShowLessButtonIsDisplayed();
expect(tagPage.checkTagsOnList()).toBeLessThan(totalNumberOfTags);
await tagPage.clickShowLessButtonUntilNotDisplayed();
await tagPage.checkShowMoreButtonIsDisplayed();
await tagPage.checkShowLessButtonIsNotDisplayed();
});
});

View File

@ -32,6 +32,9 @@ var TagPage = function () {
var tagListByNodeIdRowLocator = by.css("adf-tag-node-list mat-chip span");
var tagListContentServicesRowLocator = by.css("div[class*='adf-list-tag']");
var showDeleteButton = element(by.id('adf-remove-button-tag'));
var showMoreButton = element(by.css('button[data-automation-id="show-more-tags"]'));
var showLessButton = element(by.css('button[data-automation-id="show-fewer-tags"]'));
var tagsOnPage = element.all(by.css('div[class*="adf-list-tag"]'));
this.goToTagPage = function () {
browser.driver.get(tagURL);
@ -174,5 +177,55 @@ var TagPage = function () {
var deleteChip = element(by.css('button[id="tag_chips_delete_' + name + '"]'));
return Util.waitUntilElementIsNotVisible(deleteChip);
};
this.checkShowMoreButtonIsDisplayed = function () {
return Util.waitUntilElementIsVisible(showMoreButton);
};
this.checkShowMoreButtonIsNotDisplayed = function () {
return Util.waitUntilElementIsNotVisible(showMoreButton);
};
this.clickShowMoreButton = function () {
Util.waitUntilElementIsClickable(showMoreButton);
return showMoreButton.click();
};
this.clickShowLessButton = function () {
Util.waitUntilElementIsClickable(showLessButton);
return showLessButton.click();
};
this.checkTagsOnList = function () {
return tagsOnPage.count();
};
this.checkShowLessButtonIsDisplayed = function () {
return Util.waitUntilElementIsVisible(showLessButton);
};
this.checkShowLessButtonIsNotDisplayed = function () {
return Util.waitUntilElementIsNotVisible(showLessButton);
};
this.clickShowMoreButtonUntilNotDisplayed = function () {
showMoreButton.isDisplayed().then((visible) => {
if(visible){
showMoreButton.click();
this.clickShowMoreButtonUntilNotDisplayed();
}
}, err => {})
};
this.clickShowLessButtonUntilNotDisplayed = function () {
showLessButton.isDisplayed().then((visible) => {
if(visible){
showLessButton.click();
this.clickShowLessButtonUntilNotDisplayed();
}
}, err => {})
};
};
module.exports = TagPage;