Skip to content

Commit

Permalink
test framework
Browse files Browse the repository at this point in the history
  • Loading branch information
tomkp committed Jul 9, 2015
1 parent bc58aa1 commit 7097154
Showing 1 changed file with 50 additions and 10 deletions.
60 changes: 50 additions & 10 deletions test/TreePane-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,43 +7,83 @@ import TreePane from '../src/TreePane';
describe('TreePane', function () {



const model = {
name: 'Tom',
name: 'Default',
children: [
{ name: 'Alice'}, { name: 'Jacob'}
{ name: 'react-tree-pane', children:[
{name: 'demo', children: [
{name: 'bundle.js'},
{name: 'Example.js'}
]},
{name: 'src', children: [
{name: 'TreePane.js'}
]},
{name: 'test', children: [
{name: 'TreePane-test.js'}
]},
{name: 'package.json'}
]}
]
};


const treePane = TestUtils.renderIntoDocument(
<TreePane model={model} />
);


it('should render the tree pane', function () {
new Asserter(treePane);
new TreePaneAsserter(treePane);
});


it('should render the whole tree expanded', function () {
new TreePaneAsserter(treePane)
.findNode().assertValue('Default').assertIsExpanded().assertNumberOfChildren(1)
.findChildNode('react-tree-pane').assertIsExpanded().assertNumberOfChildren(3)
.findChildNode('demo').assertIsExpanded().assertNumberOfChildren(2).end()
.findChildNode('src').assertIsExpanded().assertNumberOfChildren(1).end()
.findChildNode('test').assertIsExpanded().assertNumberOfChildren(1).end()
;
});
});





class Asserter {
class TreePaneAsserter {

constructor(treePane) {
this.component = TestUtils.findRenderedDOMComponentWithClass(treePane, 'TreePane');
this.treePane = treePane;
}


assertNumberOfChildren() {
//expect(this.component.props.children.length).to.equal(3);
findNode() {
return new NodeAsserter(this);
}

}

findChildren() {
//return TestUtils.scryRenderedDOMComponentsWithClass(this.component, 'Node');
class NodeAsserter {
constructor(parent) {
this.parent = parent;
}

findCell() {return new CellAsserter(this) }
assertValue() { return this; }
assertIsExpanded() { return this; }
assertIsCollapsed() { return this; }
assertNumberOfChildren(expected) { return this; }
findChildNode(value) { return new NodeAsserter(this) }
end() { return this.parent; }
}

class CellAsserter {
constructor(parent) {
this.parent = parent;
}
assertValue() { return this; }
end() { return this.parent; }
}

0 comments on commit 7097154

Please sign in to comment.