Skip to content

Commit

Permalink
fixing e2e build
Browse files Browse the repository at this point in the history
  • Loading branch information
adamkleingit committed Nov 4, 2017
1 parent 6742553 commit a625ce6
Show file tree
Hide file tree
Showing 11 changed files with 51 additions and 42 deletions.
4 changes: 2 additions & 2 deletions e2e/async.spec.ts → e2e/async.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { browser, element, by, $ } from 'protractor';
import { TreeDriver } from './helpers/tree.driver';
const { browser, element, by, $ } = require('protractor');
const { TreeDriver } = require('./helpers/tree.driver');

describe('Async Children', () => {
beforeEach(() => {
Expand Down
4 changes: 2 additions & 2 deletions e2e/basic.spec.ts → e2e/basic.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { browser, element, by } from 'protractor';
import { TreeDriver } from './helpers/tree.driver';
const { browser, element, by, $ } = require('protractor');
const { TreeDriver } = require('./helpers/tree.driver');

describe('Basic Configuration', () => {
beforeEach(() => {
Expand Down
4 changes: 2 additions & 2 deletions e2e/drag.spec.ts → e2e/drag.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { browser, element, by } from 'protractor';
import { TreeDriver, dragAndDrop } from './helpers/tree.driver';
const { browser, element, by, $ } = require('protractor');
const { TreeDriver, dragAndDrop } = require('./helpers/tree.driver');

fdescribe('Basic Configuration', () => {
beforeEach(() => {
Expand Down
4 changes: 2 additions & 2 deletions e2e/empty.spec.ts → e2e/empty.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { browser, element, by, $ } from 'protractor';
import { TreeDriver } from './helpers/tree.driver';
const { browser, element, by, $ } = require('protractor');
const { TreeDriver } = require('./helpers/tree.driver');

describe('Empty Tree', () => {
beforeEach(() => {
Expand Down
4 changes: 2 additions & 2 deletions e2e/fields.spec.ts → e2e/fields.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { browser, element, by } from 'protractor';
import { TreeDriver } from './helpers/tree.driver';
const { browser, element, by, $ } = require('protractor');
const { TreeDriver } = require('./helpers/tree.driver');

describe('Custom Fields', () => {
beforeEach(() => {
Expand Down
4 changes: 2 additions & 2 deletions e2e/filter.spec.ts → e2e/filter.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { browser, element, by, $ } from 'protractor';
import { TreeDriver } from './helpers/tree.driver';
const { browser, element, by, $ } = require('protractor');
const { TreeDriver } = require('./helpers/tree.driver');

describe('Filter Tree', () => {
beforeEach(() => {
Expand Down
57 changes: 33 additions & 24 deletions e2e/helpers/tree.driver.ts → e2e/helpers/tree.driver.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,30 @@
import { Key, browser, ElementArrayFinder, ElementFinder, WebElement, by, element, $, $$, promise } from 'protractor';
import { code as htmlDnd } from 'html-dnd';
const { Key, browser, ElementArrayFinder, ElementFinder, WebElement, by, element, $, $$, promise } = require('protractor');
const { code: htmlDnd } = require('html-dnd');

function hasClass(element, cls) {
return element.getAttribute('class').then(function (classes) {
return classes.split(' ').indexOf(cls) !== -1;
});
};

export function dragAndDrop(from, to) {
function dragAndDrop(from, to) {
browser.executeScript(htmlDnd, from, to, 0, 0);
}

class BaseDriver {
constructor(protected element: ElementFinder) {}
constructor(element) {
this.element = element;
}

isPresent(): promise.Promise<boolean> {
isPresent() {
return this.element.isPresent();
}

getNodes(): ElementArrayFinder {
getNodes() {
return this.element.$$('tree-node');
}

getNode(name): NodeDriver {
getNode(name) {
const element = this.getNodes().filter((el) => {
return el.$('tree-node-content span').getText().then((text) => text === name);
}).get(0);
Expand All @@ -31,49 +33,49 @@ class BaseDriver {
}
}

export class NodeDriver extends BaseDriver {
class NodeDriver extends BaseDriver {

isPresent(): promise.Promise<boolean> {
isPresent() {
return this.element.isPresent();
}

isActive(): promise.Promise<boolean> {
isActive() {
return hasClass(this.getTreeNodeElement(), 'tree-node-active');
}

isFocused(): promise.Promise<boolean> {
isFocused() {
return hasClass(this.getTreeNodeElement(), 'tree-node-focused');
}

isExpanded(): promise.Promise<boolean> {
isExpanded() {
return hasClass(this.getTreeNodeElement(), 'tree-node-expanded');
}

getTreeNodeElement(): ElementFinder {
getTreeNodeElement() {
return this.element.$('.tree-node');
}

getNodeContentWrapper(): ElementFinder {
getNodeContentWrapper() {
return this.element.$('.node-content-wrapper');
}

getExpander(): ElementFinder {
getExpander() {
return this.element.$('.toggle-children-wrapper');
}

getChildren(): ElementFinder {
getChildren() {
return this.element.$('.tree-children');
}

getDropSlot(index = 0): ElementFinder {
getDropSlot(index = 0) {
return this.element.$$('.node-drop-slot').get(index);
}

clickExpander(): promise.Promise<void> {
clickExpander() {
return this.getExpander().click();
}

click(): promise.Promise<void> {
click() {
return this.getNodeContentWrapper().click();
}
dblclick() {
Expand All @@ -96,12 +98,12 @@ export class NodeDriver extends BaseDriver {
}
}

export class TreeDriver extends BaseDriver {
class TreeDriver extends BaseDriver {
constructor(elementCss) {
super($(elementCss));
}

getNodeByIndex(index: number): NodeDriver {
getNodeByIndex(index) {
const element = this.getNodes().get(index);

return new NodeDriver(element);
Expand Down Expand Up @@ -131,8 +133,15 @@ export class TreeDriver extends BaseDriver {
}
}

export class InputDriver {
constructor(private element) {

class InputDriver {
constructor(element) {
this.element = element;
}
}

module.exports = {
dragAndDrop,
InputDriver,
NodeDriver,
TreeDriver
};
4 changes: 2 additions & 2 deletions e2e/template.spec.ts → e2e/template.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { browser, element, by } from 'protractor';
import { TreeDriver } from './helpers/tree.driver';
const { browser, element, by, $ } = require('protractor');
const { TreeDriver } = require('./helpers/tree.driver');

describe('Basic Configuration', () => {
beforeEach(() => {
Expand Down
3 changes: 2 additions & 1 deletion e2e/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"sourceMap": false,
"declaration": false,
"noImplicitAny": false,
"outDir": "dist"
"outDir": "dist",
"noEmitOnError": true
},
"include": [
"**/*.ts"
Expand Down
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,9 @@
"selenium": "webdriver-manager update && webdriver-manager start",
"example:cli:build": "npm run build && cd example/cli && npm install && npm install ../../ && cp src/index.build.html src/index.html && ./node_modules/.bin/ng build --aot && cp src/index.dev.html src/index.html && mkdir -p 500tech/angular2-tree-component/master/example/cli/ && cp -rf dist 500tech/angular2-tree-component/master/example/cli/",
"test": "protractor protractor.conf.js",
"pretest": "npm run e2e:tsc",
"test:setup": "concurrently --kill-others \"npm run selenium\" \"npm run example:cli\"",
"prepublishOnly": "cd example/cli && npm install && cd ../../ && npm run build && npm run example:cli:build",
"e2e:tsc": "cd e2e && ../node_modules/.bin/tsc"
"e2e:tsc": "../node_modules/.bin/tsc --p e2e/tsconfig.json"
},
"files": [
"dist/"
Expand Down
2 changes: 1 addition & 1 deletion protractor.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
exports.config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['e2e/dist/*.spec.js'],
specs: ['e2e/*.spec.js'],
capabilities: {
browserName: 'chrome'
},
Expand Down

0 comments on commit a625ce6

Please sign in to comment.