158 lines
5.2 KiB
JavaScript
158 lines
5.2 KiB
JavaScript
var utils = require('../utils');
|
|
|
|
var chai = require('chai');
|
|
var chaiAsPromised = require('chai-as-promised');
|
|
|
|
chai.use(chaiAsPromised);
|
|
var expect = chai.expect;
|
|
|
|
describe('project home', function() {
|
|
before(async function() {
|
|
browser.get(browser.params.glob.host + 'project/project-1/');
|
|
await utils.common.waitLoader();
|
|
|
|
await utils.common.takeScreenshot("project", "home-like");
|
|
|
|
//reset
|
|
let link = $('tg-like-project-button button');
|
|
let likeActive = await utils.common.hasClass(link, 'active');
|
|
|
|
if (!likeActive) {
|
|
link.click();
|
|
}
|
|
|
|
await browser.waitForAngular();
|
|
});
|
|
|
|
/*
|
|
it('timeline filled', function() {
|
|
expect($$('div[tg-user-timeline-item]').count()).to.be.eventually.above(0);
|
|
});
|
|
|
|
it('timeline pagination', async function() {
|
|
let startTotal = await $$('div[tg-user-timeline-item]').count();
|
|
|
|
await browser.executeScript('window.scrollTo(0,document.body.scrollHeight)');
|
|
await browser.waitForAngular();
|
|
|
|
let endTotal = await $$('div[tg-user-timeline-item]').count();
|
|
|
|
let hasMoreItems = startTotal < endTotal;
|
|
|
|
expect(hasMoreItems).to.be.equal(true);
|
|
});
|
|
|
|
it('team filled', function() {
|
|
expect($$('ul.involved-team a').count()).to.be.eventually.above(0);
|
|
});
|
|
*/
|
|
it('unlike', async function() {
|
|
let link = $('tg-like-project-button button');
|
|
let likesCounterOld = parseInt(await link.$('.track-button-counter').getText(), 10);
|
|
|
|
link.click();
|
|
|
|
await browser.waitForAngular();
|
|
|
|
let likeActive = await utils.common.hasClass(link, 'active');
|
|
let likesCounter = parseInt(await link.$('.track-button-counter').getText(), 10);
|
|
|
|
expect(likeActive).to.be.false;
|
|
expect(likesCounter).to.be.equal(likesCounterOld - 1);
|
|
});
|
|
|
|
it('like', async function() {
|
|
let link = $('tg-like-project-button button');
|
|
let likesCounterOld = parseInt(await link.$('.track-button-counter').getText(), 10);
|
|
|
|
link.click();
|
|
|
|
await browser.waitForAngular();
|
|
await utils.common.takeScreenshot("project", "home-like");
|
|
|
|
let likeActive = await utils.common.hasClass(link, 'active');
|
|
let likesCounter = parseInt(await link.$('.track-button-counter').getText(), 10);
|
|
|
|
expect(likeActive).to.be.true;
|
|
expect(likesCounter).to.be.equal(likesCounterOld + 1);
|
|
});
|
|
|
|
it('contact project', async function() {
|
|
$('tg-contact-project-button > .e2e-contact-team').click();
|
|
|
|
let contactProjectLb = $('div[tg-lb-contact-project]');
|
|
|
|
await utils.lightbox.open(contactProjectLb);
|
|
await utils.common.takeScreenshot("project", "contact-form");
|
|
|
|
let form = $('.e2e-lightbox-contact-project');
|
|
|
|
await form.$('.e2e-lightbox-contact-project-message').sendKeys('contact');
|
|
form.$('.e2e-lightbox-contact-project-button').click();
|
|
await utils.notifications.success.open();
|
|
await utils.notifications.success.close();
|
|
});
|
|
|
|
it('unwatch', async function() {
|
|
let link = $('tg-watch-project-button > button');
|
|
let watchOptions = $('tg-watch-project-button .watch-options');
|
|
let watchCounterOld = parseInt(await link.$('.track-button-counter').getText(), 10);
|
|
|
|
link.click();
|
|
|
|
await browser.waitForAngular();
|
|
|
|
await browser.wait(async () => {
|
|
return !await utils.common.hasClass(watchOptions, 'hidden');
|
|
}, 4000);
|
|
|
|
watchOptions.$$('a').last().click();
|
|
|
|
await browser.wait(async () => {
|
|
return await utils.common.hasClass(watchOptions, 'hidden');
|
|
}, 4000);
|
|
|
|
let watchActive = await utils.common.hasClass(link, 'active');
|
|
let watchCounter = parseInt(await link.$('.track-button-counter').getText(), 10);
|
|
|
|
expect(watchActive).to.be.false;
|
|
expect(watchCounter).to.be.equal(watchCounterOld - 1);
|
|
});
|
|
|
|
it('watch', async function() {
|
|
let link = $('tg-watch-project-button > button');
|
|
let watchOptions = $('tg-watch-project-button .watch-options');
|
|
let watchCounterOld = parseInt(await link.$('.track-button-counter').getText(), 10);
|
|
|
|
link.click();
|
|
|
|
await browser.waitForAngular();
|
|
|
|
await browser.wait(async () => {
|
|
return !await utils.common.hasClass(watchOptions, 'hidden');
|
|
}, 4000);
|
|
|
|
watchOptions.$$('a').first().click();
|
|
|
|
await browser.wait(async () => {
|
|
return await utils.common.hasClass(watchOptions, 'hidden');
|
|
}, 4000);
|
|
|
|
let watchActive = await utils.common.hasClass(link, 'active');
|
|
let watchCounter = parseInt(await link.$('.track-button-counter').getText(), 10);
|
|
|
|
await utils.common.takeScreenshot("project", "home-watch");
|
|
|
|
expect(watchActive).to.be.true;
|
|
expect(watchCounter).to.be.equal(watchCounterOld + 1);
|
|
});
|
|
|
|
it('blocked project', async function() {
|
|
browser.get(browser.params.glob.host + 'project/project-6/');
|
|
await utils.common.waitLoader();
|
|
await utils.common.takeScreenshot("project", "blocked-project");
|
|
expect(browser.getCurrentUrl()).to.be.eventually.equal(browser.params.glob.host + 'blocked-project/project-6/');
|
|
});
|
|
|
|
});
|