-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathtst_SurveyDataEntry.qml
178 lines (139 loc) · 6.64 KB
/
tst_SurveyDataEntry.qml
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
import QtQuick
import QtTest
import cavewherelib
import cw.TestLib
import QmlTestRecorder
MainWindowTest {
id: rootId
TestCase {
name: "SurveyDataEntry"
when: windowShown
function addSurvey() {
TestHelper.loadProjectFromFile(RootData.project, "://datasets/test_cwScrapManager/ProjectProfile-test-v3.cw");
RootData.pageSelectionModel.currentPageAddress = "Data/Cave=Cave 1"
tryVerify(()=>{ return RootData.pageView.currentPageItem.objectName === "cavePage" });
let addCaveButton = ObjectFinder.findObjectByChain(mainWindow, "rootId->cavePage->addTrip->addButton")
mouseClick(addCaveButton)
tryVerify(()=>{ return RootData.pageView.currentPageItem.objectName === "tripPage" });
let addSuveyButton = ObjectFinder.findObjectByChain(mainWindow, "rootId->tripPage->addSurveyData")
mouseClick(addSuveyButton)
wait(200);
}
function test_enterSurveyData() {
addSurvey();
//Start adding survey data
keyClick("b")
keyClick(49, 0) //1
keyClick(16777220, 0) //Return
//Make sure that we go to the next station entry
keyClick(16777217, 0) //Tab got to the next cell
keyClick(16777217, 0) //Tab add the next station B2
//Check that we have two stations
let trip = RootData.pageView.currentPageItem.currentTrip as Trip;
verify(trip !== null);
let firstChunk = trip.chunk(0);
verify(firstChunk.stationCount() === 3)
verify(firstChunk.data(SurveyChunk.StationNameRole, 0) === "b1")
verify(firstChunk.data(SurveyChunk.StationNameRole, 1) === "b2")
verify(firstChunk.data(SurveyChunk.StationNameRole, 2) === "")
//Enter distance of 10
// verify(firstChunk.data(SurveyChunk.ShotCompassRole, 0) === "")
keyClick(49, 0) //1
keyClick(48, 0) //0
keyClick(16777217, 0) //Tab
verify(firstChunk.data(SurveyChunk.ShotDistanceRole, 0) === "10")
wait(50);
//Compass of 0
// verify(firstChunk.data(SurveyChunk.ShotCompassRole, 0) === "")
keyClick(48, 0) //0
keyClick(16777217, 0) //Tab
verify(firstChunk.data(SurveyChunk.ShotCompassRole, 0) === "0")
wait(50);
//Skip back compass
// verify(firstChunk.data(SurveyChunk.ShotBackCompassRole, 0) === "")
keyClick(16777217, 0) //Tab
// verify(firstChunk.data(SurveyChunk.ShotBackCompassRole, 0) === "")
//Enter 11 for clino
// verify(firstChunk.data(SurveyChunk.ShotClinoRole, 0) === "")
keyClick(49, 0) //1
keyClick(49, 0) //1
keyClick(16777217, 0) //Tab
verify(firstChunk.data(SurveyChunk.ShotClinoRole, 0) === "11")
wait(50);
//Skip the LRUD
// keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
//Connect to a1
keyClick("a")
keyClick(49, 0) //1
keyClick(16777217, 0) //Tab
verify(firstChunk.data(SurveyChunk.StationNameRole, 2) === "a1")
wait(50);
//Distance of 1
keyClick(49, 0) //1
keyClick(16777217, 0) //Tab
verify(firstChunk.data(SurveyChunk.ShotDistanceRole, 1) === "1")
wait(50);
//Compasss of 10
keyClick(49, 0) //1
keyClick(48, 0) //0
keyClick(16777217, 0) //Tab
verify(firstChunk.data(SurveyChunk.ShotCompassRole, 1) === "10")
wait(50);
//Skip backcompass
keyClick(16777217, 0) //Tab
//Clino of 0
keyClick(48, 0) //0
keyClick(16777217, 0) //Tab
verify(firstChunk.data(SurveyChunk.ShotClinoRole, 1) === "0")
wait(50);
}
function test_errorButtonsShouldWork() {
addSurvey();
//Start adding survey data
keyClick("a")
keyClick(49, 0) //1
keyClick(16777220, 0) //Return
keyClick(16777217, 0) //Tab
keyClick(16777217, 0) //Tab
//Check that we can supress the a warning
let databox = ObjectFinder.findObjectByChain(rootId.mainWindow, "rootId->tripPage->dataBox.1.1")
let errors = databox.errorModel.errors;
verify(errors.count == 1);
let firstErrorIndex = errors.index(0, 0);
verify(errors.data(firstErrorIndex, ErrorListModel.ErrorTypeRole) === CwError.Warning)
verify(errors.data(firstErrorIndex, ErrorListModel.SuppressedRole) === false)
let errorIcon_obj1 = ObjectFinder.findObjectByChain(rootId.mainWindow, "rootId->tripPage->dataBox.1.1->errorIcon")
mouseClick(errorIcon_obj1)
// wait(1000000);
let checkbox = ObjectFinder.findObjectByChain(rootId.mainWindow, "rootId->errorBoxdataBox.1.1->suppress")
mouseClick(checkbox)
//Make sure the warning is supressed
verify(errors.count == 1);
verify(errors.data(firstErrorIndex, ErrorListModel.ErrorTypeRole) === CwError.Warning)
tryVerify(()=>{ return errors.data(firstErrorIndex, ErrorListModel.SuppressedRole) === true; })
//Make sure error message works, click on it
let distanceError = ObjectFinder.findObjectByChain(rootId.mainWindow, "rootId->tripPage->dataBox.0.5->errorIcon")
mouseClick(distanceError)
//Make sure the warning message that was shown before is now hidden
verify(errorIcon_obj1.visible === false)
//Make sure the error message is correct
let errorText = ObjectFinder.findObjectByChain(rootId.mainWindow, "rootId->errorBoxdataBox.0.5->errorText")
verify(errorText.text === "Missing \"distance\" from shot \"a1\" ➔ \"a2\"")
//Deselect the current message
mouseClick(distanceError)
//Make sure the error quote box is hidden
let quoteBox = ObjectFinder.findObjectByChain(rootId.mainWindow, "rootId->errorBoxdataBox.0.5")
tryVerify(()=>{ return quoteBox === null });
verify(distanceError.checked === false);
}
}
}