Produced by Araxis Merge on 5/29/2018 12:14:33 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
# | Location | File | Last Modified |
---|---|---|---|
1 | mobile-kidney-web-2.0.0.zip\mobile-kidney-web\acceptance_test\watir\spec\kidney-tracker | Blood_Pressure_Pulse_Add_Edit_Delete_DCKDA_497_1209_1213_spec.rb | Wed Apr 4 20:16:46 2018 UTC |
2 | mobile-kidney-web-2.0.0.zip\mobile-kidney-web\acceptance_test\watir\spec\kidney-tracker | Blood_Pressure_Pulse_Add_Edit_Delete_DCKDA_497_1209_1213_spec.rb | Tue May 29 15:41:22 2018 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 2 | 670 |
Changed | 1 | 4 |
Inserted | 0 | 0 |
Removed | 0 | 0 |
Whitespace | |
---|---|
Character case | Differences in character case are significant |
Line endings | Differences in line endings (CR and LF characters) are ignored |
CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
1 | #!/bin/env ruby | |
2 | # encoding : utf-8 | |
3 | ||
4 | require 'r spec' | |
5 | require 'w atir-webdr iver' | |
6 | ||
7 | require_re lative '.. /rspec_hel per' | |
8 | require_re lative '.. /../lib/pa ges/left_s ide_nav' | |
9 | require_re lative '.. /../lib/pa ges/common _elements' | |
10 | require_re lative '.. /../lib/pa ges/common _tests' | |
11 | require_re lative '.. /../lib/pa ges/filter s' | |
12 | require_re lative '.. /../lib/pa ges/modal_ dialog' | |
13 | require_re lative '.. /../lib/pa ges/error_ validation s' | |
14 | require_re lative '.. /../lib/pa ges/tracke rs_list_an d_detail' | |
15 | require_re lative '.. /../lib/mo dule/FHIRO perationsM odule' | |
16 | ||
17 | describe ' Story#DCKD A-497 Bloo d_Pressure _Pulse_Add _Edit_Dele te_DCKDA_4 97_1209_12 13_spec.rb ', :regres sion => tr ue do | |
18 | include DriverOper ationsModu le | |
19 | include FHIROperat ionsModule | |
20 | ||
21 | before(: all) do | |
22 | patien tId = "PAT ID12" | |
23 | firstN ame = "zzt est" | |
24 | lastNa me = "pati ent13" | |
25 | userName = " AI " | |
26 | password = " AI " | |
27 | ||
28 | initia lizeConfig urations() | |
29 | remove BPEntries( patientId, firstName , lastName ) | |
30 | ||
31 | @commo nElements = CommonEl ement.new( @driver) | |
32 | @commo nTest = Co mmonTest.n ew(@driver ) | |
33 | @leftn av = LeftS ideNav.new (@driver) | |
34 | @modal = Modal.n ew(@driver ) | |
35 | @filte r = Filter s.new(@dri ver) | |
36 | @error = Errors. new(@drive r) | |
37 | @tklis tDetail = TrackerLis tDetail.ne w(@driver) | |
38 | ||
39 | @commo nTest.pass ByLandingP ageAndAuth enticate(u serName, p assword, " #{lastName }, #{first Name}", pa tientId) | |
40 | begin | |
41 | Wati r::Wait.un til | |
42 | @com monElement s.angulart itle_eleme nt.visible ? | |
43 | rescue | |
44 | Wati r::Wait::T imeoutErro r | |
45 | unti l | |
46 | @com monElement s.angulart itle_eleme nt.visible ? | |
47 | end | |
48 | end | |
49 | @commo nTest.wait ForContent LoadedSumm aryPage | |
50 | @leftn av.leftSid eNav | |
51 | @leftn av.home_el ement.when _visible | |
52 | ||
53 | @commo nTest.navi gateToAsub Feature("K idneyTrack ers", '.bl ood-pressu re-and-pul se') | |
54 | @commo nElements. contentLoa ded_elemen t.when_pre sent | |
55 | ||
56 | $today Long = get DateNthDay sAgo(0, "% m/%d/%Y") | |
57 | $yeste rdayShort = getDateN thDaysAgo( 1, "%m/%d/ %y") | |
58 | $yeste rdayLong = getDateNt hDaysAgo(1 , "%m/%d/% Y") | |
59 | $tomor row = getD ateNthDays FromNow(1, "%m/%d/%Y ") | |
60 | $sixYe arsAgo = g etDateNthY earsAgo(6, "%m/%d/%Y ") | |
61 | $sixYe ars1dayAgo = getDate NthDaysAgo (2193, "%m /%d/%Y") | |
62 | $oneYe arAgo = ge tDateNthYe arsAgo(1, "%m/%d/%Y" ) | |
63 | ||
64 | end | |
65 | ||
66 | after(: all) do | |
67 | @driv er.close | |
68 | end | |
69 | ||
70 | context 'AC#DCKDA- 640,1209,4 95|TC#DCKD A-1196,121 3: Add Ne w Entry fo r Kidney B lood Press ure and Pu lse Tracke r' do | |
71 | it '. Verify the Add (+) b utton is a vailable' do | |
72 | expe ct(@tklist Detail.add NewEntry?) .to eq(tru e) | |
73 | end | |
74 | ||
75 | it '. Verify the detail sc reen heade r displays correctly ' do | |
76 | @tkl istDetail. addNewEntr y | |
77 | @com monElement s.primaryH eader_elem ent.when_v isible(tim eout=10) | |
78 | expe ct(@common Elements.p rimaryHead er).to eq( "Add Blood Pressure and Pulse Entry") | |
79 | end | |
80 | ||
81 | it '. Verify tha t required field ind icator is present an d all fiel ds are pre sent with the correc t label' d o | |
82 | @com monElement s.required FieldLabel _element.w hen_visibl e | |
83 | expe ct(@common Elements.r equiredFie ldLabel).t o eq("* re quired fie ld") | |
84 | expe ct(@tklist Detail.dat eLabel).to eq("* Dat e:") | |
85 | expe ct(@tklist Detail.tim eLabel).to eq("* Tim e:") | |
86 | expe ct(@tklist Detail.sys tolicLabel .include?( "* Systoli c (mmHg):" )).to eq(t rue) | |
87 | expe ct(@tklist Detail.dia stolicLabe l.include? ("* Diasto lic (mmHg) :")).to eq (true) | |
88 | expe ct(@tklist Detail.pul seLabel.in clude?("* Pulse (bpm ):")).to e q(true) | |
89 | expe ct(@tklist Detail.bpp PositionLa bel).to eq ("Position :") | |
90 | expe ct(@tklist Detail.not eLabel).to eq("Note: ") | |
91 | end | |
92 | ||
93 | it '. Verify tha t the MM/D D/YYYY dis plays as t he format guidance a t Date fie ld; HH:MM AM/PM disp lays as th e format g uidance at Time fiel d' do | |
94 | expe ct(@tklist Detail.dat eOnDetail_ element.at tribute('p laceholder ')).to eq( "MM/DD/YYY Y") | |
95 | expe ct(@tklist Detail.tim eOnDetail_ element.at tribute('p laceholder ')).to eq( "HH:MM AM/ PM") | |
96 | end | |
97 | ||
98 | it '. Verify tha t Date is required a nd can not be future date; Tim e is requi red.' do | |
99 | @tkl istDetail. dateOnDeta il = "" | |
100 | @tkl istDetail. timeOnDeta il = "" | |
101 | ||
102 | @tkl istDetail. timeOnDeta il_element .send_keys (:tab) | |
103 | @com monElement s.scrollDo wn(@driver ) | |
104 | ||
105 | @tkl istDetail. saveBttn | |
106 | @err or.errorHe ader_eleme nt.when_vi sible(time out=10) | |
107 | expe ct(@error. isThisErro rDisplayed ("Date fie ld is requ ired.")).t o eq(true) | |
108 | expe ct(@error. isThisErro rDisplayed ("Time fie ld is requ ired.")).t o eq(true) | |
109 | ||
110 | @tkl istDetail. dateOnDeta il = $tomo rrow | |
111 | slee p 0.5 | |
112 | @tkl istDetail. saveBttn | |
113 | errM sg = "Dat e must be between " + $sixYear sAgo + " a nd " + $to dayLong + "." | |
114 | expe ct(@error. isThisErro rDisplayed (errMsg)). to eq(true ) | |
115 | end | |
116 | ||
117 | it '. Verify the Systolic, Diastolic , and Puls e fields h ave a guid ance text displayed correctly. Error mes sages disp lay when i nput value s violate the rules. ' do | |
118 | expe ct(@tklist Detail.sys tolic_elem ent.attrib ute("place holder")). to eq("Bet ween 60 an d 300") | |
119 | expe ct(@tklist Detail.dia stolic_ele ment.attri bute("plac eholder")) .to eq("") | |
120 | expe ct(@tklist Detail.pul se_element .attribute ("placehol der")).to eq("Betwee n 20 and 2 50") | |
121 | ||
122 | @tkl istDetail. systolic = "350" | |
123 | @tkl istDetail. diastolic = "200" | |
124 | @tkl istDetail. pulse = "1 5" | |
125 | @tkl istDetail. saveBttn | |
126 | ||
127 | @err or.errorHe ader_eleme nt.when_vi sible | |
128 | errM sgSys = " Systolic ( mmHg) is o utside the expected range. Ple ase enter a value be tween 60 a nd 300." | |
129 | errM sgPulse = "Pulse (b pm) is out side the e xpected ra nge. Pleas e enter a value betw een 20 and 250." | |
130 | expe ct(@error. isThisErro rDisplayed (errMsgSys )).to eq(t rue) | |
131 | expe ct(@error. isThisErro rDisplayed (errMsgPul se)).to eq (true) | |
132 | ||
133 | @tkl istDetail. systolic = "120" | |
134 | @tkl istDetail. diastolic = "130" | |
135 | @tkl istDetail. pulse = "6 0" | |
136 | @tkl istDetail. saveBttn | |
137 | ||
138 | @err or.errorHe ader_eleme nt.when_vi sible | |
139 | errM sgBP = "T he Systoli c (mmHg) v alue must be greater than the Diastolic (mmHg) val ue. Please check the values an d re-enter ." | |
140 | expe ct(@error. isThisErro rDisplayed (errMsgBP) ).to eq(tr ue) | |
141 | end | |
142 | ||
143 | it '. Verify the Note fiel d has a ch aracter co unter and it allows max 250 ch aracters' do | |
144 | expe ct(@tklist Detail.cha racterCoun ter?).to e q(true) | |
145 | expe ct(@tklist Detail.tex tareaMaxLe ngthTest(2 50, true, "textarea" ,"Note")). to eq(1) | |
146 | @tkl istDetail. cancelBttn | |
147 | @tkl istDetail. addNewEntr y_element. when_visib le(timeout =10) | |
148 | end | |
149 | ||
150 | it '. Happy path , to add t hree entri es. Verify the value s are save d and they display c orrectly i n the Tabl e View' do | |
151 | @tkl istDetail. addBloodPr essurePuls eEntry($ye sterdayLon g, "07:00 AM", 120, 90, 50, "L ying", "") | |
152 | valu eStr = '12 0, 90, 50, Lying, ' + $yesterd ayLong + ' 07:00 AM, ""' | |
153 | slee p 2 | |
154 | @tkl istDetail. summaryTab le_element .when_visi ble(timeou t=15) | |
155 | expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(1, 6, v alueStr, f alse)).to eq(true) | |
156 | ||
157 | @tkl istDetail. addBloodPr essurePuls eEntry($ye sterdayLon g, "01:00 PM", 100, 70, 60, "S itting", " Felt dizzy today") | |
158 | valu eStr = '10 0, 70, 60, Sitting, ' + $yeste rdayLong + ' 01:00 P M, "Felt d izzy today "' | |
159 | slee p 2 | |
160 | @tkl istDetail. summaryTab le_element .when_visi ble(timeou t=15) | |
161 | expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(1, 6, v alueStr, t rue)).to e q(true) | |
162 | ||
163 | @tkl istDetail. addBloodPr essurePuls eEntry($ye sterdayLon g, "08:00 PM", 300, 120, 90, " Standing", "") | |
164 | valu eStr = '30 0, 120, 90 , Standing , ' + $yes terdayLong + ' 08:00 PM, ""' | |
165 | slee p 2 | |
166 | @tkl istDetail. summaryTab le_element .when_visi ble(timeou t=15) | |
167 | expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(1, 6, v alueStr, f alse)).to eq(true) | |
168 | end | |
169 | ||
170 | it '. Verify tha t Date and Time valu es must be unique. U sers canno t save mor e than one entry for a given d ate/time.' do | |
171 | @tkl istDetail. addBloodPr essurePuls eEntry($ye sterdayLon g, "08:00 PM", 120, 100, 90, " Sitting", "") | |
172 | slee p 2 | |
173 | if @ error.erro rHeader? ! = true | |
174 | exp ect("Dupli cate date/ time were saved with out throwi ng an erro r").to eq( "Duplicate date/time is not al lowed") | |
175 | else | |
176 | er rMsg = "A n entry ha s already been saved with the same date and time. Please cha nge your d ate and/or time and save again ." | |
177 | ex pect(@erro r.isThisEr rorDisplay ed(errMsg) ).to eq(tr ue) | |
178 | @t klistDetai l.timeOnDe tail_eleme nt.send_ke ys(:tab) | |
179 | @c ommonEleme nts.scroll Down(@driv er) | |
180 | ||
181 | @t klistDetai l.cancelBt tn | |
182 | sl eep 2 | |
183 | @t klistDetai l.summaryT able_eleme nt.when_vi sible(time out=15) | |
184 | end | |
185 | end | |
186 | end | |
187 | ||
188 | context 'AC#DCKDA- 641|TC#DCK DA-1196: Edit an En try for Ki dney Blood Pressure and Pulse Tracker' d o | |
189 | it '. Verify tha t All data elements available in Add Ent ry mode ar e visible. ' do | |
190 | @tkl istDetail. clickAnEnt ryToEditOr Delete(1) | |
191 | @com monTest.wa itForConte ntLoaded | |
192 | Wati r::Wait.un til {@tkli stDetail.t ext.includ e? "Systol ic (mmHg): "} | |
193 | expe ct(@common Elements.p rimaryHead er).to eq( "Edit Bloo d Pressure and Pulse Entry") | |
194 | expe ct(@tklist Detail.dat eLabel).to eq("* Dat e:") | |
195 | expe ct(@tklist Detail.tim eLabel).to eq("* Tim e:") | |
196 | expe ct(@tklist Detail.sys tolicLabel .include?( "* Systoli c (mmHg):" )).to eq(t rue) | |
197 | expe ct(@tklist Detail.dia stolicLabe l.include? ("* Diasto lic (mmHg) :")).to eq (true) | |
198 | expe ct(@tklist Detail.pul seLabel.in clude?("* Pulse (bpm ):")).to e q(true) | |
199 | expe ct(@tklist Detail.bpp PositionLa bel).to eq ("Position :") | |
200 | expe ct(@tklist Detail.not eLabel).to eq("Note: ") | |
201 | end | |
202 | ||
203 | it '. Verify tha t all valu es previou sly saved are visibl e.' do | |
204 | expe ct(@tklist Detail.dat eOnDetail) .to eq($ye sterdayLon g) | |
205 | expe ct(@tklist Detail.tim eOnDetail) .to eq("08 :00 PM") | |
206 | expe ct(@tklist Detail.sys tolic).to eq("300") | |
207 | expe ct(@tklist Detail.dia stolic).to eq("120") | |
208 | expe ct(@tklist Detail.pul se).to eq( "90") | |
209 | expe ct(@tklist Detail.bpp Position). to eq("Sta nding") | |
210 | end | |
211 | ||
212 | it '. Modify a v alue and s ave. Verif y the upda ted value displays i n the tabl e view' do | |
213 | @tkl istDetail. systolic = 180 | |
214 | @tkl istDetail. saveBttn_e lement.sen d_keys(:ta b) | |
215 | @com monElement s.scrollDo wn(@driver ) | |
216 | ||
217 | @tkl istDetail. saveBttn | |
218 | slee p 2 | |
219 | @com monTest.wa itForConte ntLoaded | |
220 | valu eStr = '18 0, 120, 90 , Standing , ' + $yes terdayLong + ' 08:00 PM, ""' | |
221 | expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(1, 6, v alueStr, f alse)).to eq(true) | |
222 | end | |
223 | end | |
224 | ||
225 | context 'AC#DCKDA- 642|TC#DCK DA-1196: Cancel and Delete fo r Kidney B lood Press ure and Pu lse Tracke r' do | |
226 | it '. Verify tha t When a u ser select s Cancel, no updates are made to the rec ord.' do | |
227 | @tkl istDetail. clickAnEnt ryToEditOr Delete(1) | |
228 | @com monElement s.scrollDo wn(@driver ) | |
229 | ||
230 | @tkl istDetail. cancelBttn | |
231 | @com monTest.wa itForConte ntLoaded | |
232 | ||
233 | valu eStr = '18 0, 120, 90 , Standing , ' + $yes terdayLong + ' 08:00 PM, ""' | |
234 | expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(1, 6, v alueStr, f alse)).to eq(true) | |
235 | end | |
236 | ||
237 | it '. Verify tha t When a u ser select s Delete, the system prompts t he user to confirm t he Delete by display ing a moda l:' do | |
238 | @tkl istDetail. clickAnEnt ryToEditOr Delete(1) | |
239 | @com monElement s.scrollDo wn(@driver ) | |
240 | ||
241 | @tkl istDetail. deleteBttn | |
242 | @mod al.modalTi tle_elemen t.when_vis ible | |
243 | expe ct(@modal. modalTitle ).to eq("C onfirmatio n") | |
244 | expe ct(@modal. section1). to eq("Are you sure you want t o remove t his entry? Select YE S to remov e the entr y or NO to return to the entry screen.") | |
245 | @mod al.ok2 | |
246 | @mod al.modalTi tle_elemen t.when_not _visible | |
247 | ||
248 | begi n | |
249 | Wa tir::Wait. until | |
250 | @t klistDetai l.busySpin ner_elemen t.when_not _visible | |
251 | resc ue | |
252 | Wa tir::Wait: :TimeoutEr ror | |
253 | un til | |
254 | @t klistDetai l.busySpin ner_elemen t.when_not _visible | |
255 | en d | |
256 | end | |
257 | ||
258 | slee p 1 | |
259 | @tkl istDetail. deleteBttn | |
260 | @mod al.modalTi tle_elemen t.when_vis ible | |
261 | @mod al.yes | |
262 | valu eStr = $ye sterdayLon g + "08:00 PM" | |
263 | expe ct(@tklist Detail.sea rchThisVal ueInAllRow s(1, value Str)).to e q(false) | |
264 | end | |
265 | end | |
266 | ||
267 | context 'AC#DCKDA- 497 | TC#D CKDA-1196: Navigatio n' do | |
268 | it '. Verify tha t < is sho wn on the list scree n when on a phone vi ew and has the corre ct alt tex t. Clickin g it retur ns the use r to the l ist view' do | |
269 | ||
270 | begi n | |
271 | Wa tir::Wait. until | |
272 | @t klistDetai l.busySpin ner_elemen t.when_not _visible | |
273 | resc ue | |
274 | Wa tir::Wait: :TimeoutEr ror | |
275 | un til | |
276 | @t klistDetai l.busySpin ner_elemen t.when_not _visible | |
277 | en d | |
278 | end | |
279 | ||
280 | slee p 1 | |
281 | ||
282 | @tkl istDetail. addNewEntr y_element. when_visib le | |
283 | @tkl istDetail. addNewEntr y | |
284 | ||
285 | resi zeWindowTo (320, 480) | |
286 | slee p 1 | |
287 | expe ct(@common Elements.r eturnToPre vScreen?). to eq(true ) | |
288 | expe ct(@common Elements.r eturnToPre vScreen_el ement.attr ibute('tit le')).to e q("Return to Previou s Screen") | |
289 | ||
290 | @com monElement s.returnTo PrevScreen | |
291 | @com monElement s.primaryH eader_elem ent.when_v isible(tim eout=10) | |
292 | expe ct(@common Elements.p rimaryHead er).to eq( "Blood Pre ssure and Pulse") | |
293 | end | |
294 | ||
295 | it '. Verify use r is promp t with a m odal when clicking < with unsa ved data' do | |
296 | @tkl istDetail. startDate_ element.se nd_keys(:t ab) | |
297 | @tkl istDetail. startDate | |
298 | @tkl istDetail. clickAnEnt ryToEditOr Delete(1) | |
299 | @tkl istDetail. systolic = 170 | |
300 | @com monElement s.returnTo PrevScreen | |
301 | @mod al.modalTi tle_elemen t.when_vis ible | |
302 | expe ct(@modal. modalTitle ).to eq("C onfirmatio n") | |
303 | expe ct(@modal. section1). to eq("You have not saved your changes. If you wis h to conti nue withou t saving s elect CONT INUE, othe rwise sele ct RETURN to return to the ent ry screen. ") | |
304 | @mod al.ok2 | |
305 | @mod al.modalTi tle_elemen t.when_not _visible | |
306 | expe ct(@common Elements.p rimaryHead er).to eq( "Edit Bloo d Pressure and Pulse Entry") | |
307 | ||
308 | @tkl istDetail. systolic = 170 | |
309 | @com monElement s.returnTo PrevScreen | |
310 | @mod al.modalTi tle_elemen t.when_vis ible | |
311 | @mod al.yes | |
312 | @mod al.modalTi tle_elemen t.when_not _visible | |
313 | expe ct(@common Elements.p rimaryHead er).to eq( "Blood Pre ssure and Pulse") | |
314 | end | |
315 | ||
316 | it '. Verify tha t when nav igate away from a sc reen with unsaved da ta, the sa me modal p ops up' do | |
317 | @tkl istDetail. startDate_ element.se nd_keys(:t ab) | |
318 | @tkl istDetail. startDate | |
319 | Wati r::Wait.un til {@tkli stDetail.t ext.includ e? "Systol ic (mmHg)" } | |
320 | @tkl istDetail. clickAnEnt ryToEditOr Delete(1) | |
321 | @tkl istDetail. systolic = 160 | |
322 | ||
323 | @lef tnav.leftS ideNav | |
324 | @lef tnav.home_ element.wh en_visible | |
325 | @lef tnav.learn More | |
326 | @mod al.modalTi tle_elemen t.when_vis ible | |
327 | expe ct(@modal. modalTitle ).to eq("C onfirmatio n") | |
328 | expe ct(@modal. section1). to eq("You have not saved your changes. If you wis h to conti nue withou t saving s elect CONT INUE, othe rwise sele ct RETURN to return to the ent ry screen. ") | |
329 | @mod al.modalTi tle_elemen t.when_vis ible | |
330 | ||
331 | @mod al.yes | |
332 | ||
333 | resi zeWindowTo Default() | |
334 | ||
335 | end | |
336 | end | |
337 | end |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.