/
tableActionsTest.js
125 lines (107 loc) · 4.69 KB
/
tableActionsTest.js
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*
* Copyright 2019 TWO SIGMA OPEN SOURCE, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var BeakerXPageObject = require('../beakerx.po.js');
var beakerxPO;
describe('Testing of table Actions ', function () {
beforeAll(function () {
beakerxPO = new BeakerXPageObject();
beakerxPO.runNotebookByUrl('/test/ipynb/python/TableActionsTest.ipynb');
}, 2);
afterAll(function () {
beakerxPO.closeAndHaltNotebook();
});
function doubleClickOnTable(codeCell, x, y){
codeCell.$('div.p-DataGrid-viewport', x, y).click();
codeCell.$('div.p-DataGrid-viewport').doubleClick();
beakerxPO.kernelIdleIcon.waitForEnabled();
};
var cellIndex;
var imageDir = 'python/tableActions';
var width = 130, height = 67;
describe('ContextMenuItem action ', function () {
var codeCell;
it('Create table with Context Menu ', function () {
cellIndex = 0;
beakerxPO.runCodeCellByIndex(cellIndex);
var canvas = beakerxPO.runCellToGetCanvas(cellIndex);
var imageData = beakerxPO.getCanvasImageData(canvas, width, height);
beakerxPO.checkImageData(imageData, imageDir, 'cell1_case1.png');
});
it('ContextMenuItem should change table cell value ', function () {
codeCell = beakerxPO.getCodeCellByIndex(cellIndex);
var canvas = codeCell.$('canvas');
canvas.waitForDisplayed();
beakerxPO.performRightClick(canvas, 40, 40);
browser.$('div.p-Menu-itemLabel=plusOne').click();
beakerxPO.kernelIdleIcon.waitForEnabled();
browser.pause(1000);
var canvas = codeCell.$('canvas');
var imageData = beakerxPO.getCanvasImageData(canvas, width, height);
beakerxPO.checkImageData(imageData, imageDir, 'cell1_case2.png');
});
it('ContextMenuItem should run tag (by string) ', function () {
var canvas = codeCell.$('canvas');
canvas.waitForDisplayed();
beakerxPO.performRightClick(canvas, 40, 55);
browser.$('div.p-Menu-itemLabel=tag1ByStr').click();
beakerxPO.kernelIdleIcon.waitForEnabled();
beakerxPO.waitAndCheckOutputTextOfStdout(cellIndex + 1, /1:0=4/);
});
it('ContextMenuItem should run tag (by closure) ', function () {
cellIndex += 4;
codeCell = beakerxPO.runCodeCellByIndex(cellIndex);
var canvas = codeCell.$('canvas');
canvas.waitForDisplayed();
beakerxPO.performRightClick(canvas, 40, 55);
browser.$('div.p-Menu-itemLabel=runTagFunc').click();
beakerxPO.kernelIdleIcon.waitForEnabled();
beakerxPO.waitAndCheckOutputTextOfStdout(cellIndex + 1, /1:0=4/);
});
});
describe('DoubleClickAction action ', function () {
it('Create table with DoubleClick Action ', function () {
cellIndex += 2;
var canvas = beakerxPO.runCellToGetCanvas(cellIndex);
var imageData = beakerxPO.getCanvasImageData(canvas, width, height);
beakerxPO.checkImageData(imageData, imageDir, 'cell2_case1.png');
});
it('DoubleClickAction should change table cell value ', function () {
var codeCell = beakerxPO.getCodeCellByIndex(cellIndex);
doubleClickOnTable(codeCell, 40, 40);
var canvas = codeCell.$('canvas');
var imageData = beakerxPO.getCanvasImageData(canvas, width, height);
beakerxPO.checkImageData(imageData, imageDir, 'cell2_case2.png');
});
it('DoubleClickAction should run tag (by string) ', function () {
cellIndex += 3;
var codeCell = beakerxPO.runCodeCellByIndex(cellIndex);
var canvas = codeCell.$('canvas');
var imageData = beakerxPO.getCanvasImageData(canvas, width, height);
beakerxPO.checkImageData(imageData, imageDir, 'cell3_case1.png');
doubleClickOnTable(codeCell, 40, 40);
beakerxPO.waitAndCheckOutputTextOfStdout(cellIndex + 1, /0:0=1/);
});
it('DoubleClickAction should run tag (by closure) ', function () {
cellIndex += 3;
var codeCell = beakerxPO.runCodeCellByIndex(cellIndex);
var canvas = codeCell.$('canvas');
var imageData = beakerxPO.getCanvasImageData(canvas, width, height);
beakerxPO.checkImageData(imageData, imageDir, 'cell4_case1.png');
doubleClickOnTable(codeCell, 40, 40);
beakerxPO.waitAndCheckOutputTextOfStdout(cellIndex + 1, /0:0=1/);
});
});
});