/
container-contents.ts
43 lines (35 loc) · 1.24 KB
/
container-contents.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { t, Selector } from 'testcafe';
import { NodeRow } from './node-row';
export namespace containerContents {
/**
* Asserts that the container contents are visible.
*/
export async function expectVisible() {
await t.expect(Selector('mesh-container-contents').visible).ok('Container contents are not visible');
}
export async function createNode(schemaName: string) {
await t.click(createNodeButton()).click(createNodeSchema(schemaName));
}
export function createNodeButton() {
return Selector('button').withText('CREATE NODE');
}
export function createNodeSchema(schemaName: string) {
return Selector('gtx-dropdown-item').withText(schemaName);
}
export function getListItemByName(displayName: string) {
return new NodeRow(
Selector('mesh-node-row').filter(
node => {
return node.querySelector('.title a')!.textContent === displayName;
},
{ displayName }
)
);
}
export function getFirstListItem() {
return new NodeRow(Selector('mesh-node-row').nth(0));
}
export function getNumberOfItems() {
return Selector('mesh-node-row').count;
}
}