29. EPMO Open Source Coordination Office Redaction File Detail Report

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.

29.1 Files compared

# Location File Last Modified
1 mobile-kidney-web-2.0.0.zip\mobile-kidney-web\acceptance_test\watir\spec\kidney-tracker Glucose_Add_Edit_Delete_DCKDA_1140_542_1201_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 Glucose_Add_Edit_Delete_DCKDA_1140_542_1201_spec.rb Tue May 29 15:45:11 2018 UTC

29.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 670
Changed 1 4
Inserted 0 0
Removed 0 0

29.3 Comparison options

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

29.4 Active regular expressions

No regular expressions were active.

29.5 Comparison detail

  1   #!/bin/env  ruby
  2   # encoding : utf-8
  3  
  4   require 'r ubygems'
  5   require 'r spec'
  6   require 'w atir-webdr iver'
  7  
  8   require_re lative '.. /rspec_hel per'
  9   require_re lative '.. /../lib/pa ges/left_s ide_nav'
  10   require_re lative '.. /../lib/pa ges/common _elements'
  11   require_re lative '.. /../lib/pa ges/common _tests'
  12   require_re lative '.. /../lib/pa ges/modal_ dialog'
  13   require_re lative '.. /../lib/pa ges/filter s'
  14   require_re lative '.. /../lib/pa ges/error_ validation s'
  15   require_re lative '.. /../lib/pa ges/tracke rs_list_an d_detail'
  16   require_re lative '.. /../lib/mo dule/FHIRO perationsM odule'
  17  
  18   describe ' Story#DCKD A-1140,120 1,542 Gluc ose_Add_Ed it_Delete_ spec.rb',  :regressio n => true  do
  19     include  DriverOper ationsModu le
  20     include  FHIROperat ionsModule
  21  
  22     before(: all) do
  23       patien tId = "PAT ID13"
  24       firstN ame = "zzt est"
  25       lastNa me = "pati ent14"
  26         userName =  " AI "
  27         password =  " AI "
  28  
  29       initia lizeConfig urations()
  30       remove GlucoseEnt ries(patie ntId, firs tName, las tName)
  31  
  32       @commo nElements  = CommonEl ement.new( @driver)
  33       @commo nTest = Co mmonTest.n ew(@driver )
  34       @leftn av = LeftS ideNav.new (@driver)
  35       @modal  = Modal.n ew(@driver )
  36       @filte r = Filter s.new(@dri ver)
  37       @error  = Errors. new(@drive r)
  38       @tklis tDetail =  TrackerLis tDetail.ne w(@driver)
  39  
  40       @commo nTest.pass ByLandingP ageAndAuth enticate(u serName, p assword, " #{lastName }, #{first Name}", pa tientId)
  41  
  42       begin
  43         Wati r::Wait.un til
  44         @com monElement s.angulart itle_eleme nt.visible ?
  45       rescue
  46         Wati r::Wait::T imeoutErro r
  47         unti l
  48         @com monElement s.angulart itle_eleme nt.visible ?
  49         end
  50       end
  51  
  52       @commo nTest.wait ForContent LoadedSumm aryPage
  53       @leftn av.leftSid eNav
  54       sleep  1
  55       @leftn av.home_el ement.when _visible
  56  
  57       @commo nTest.navi gateToAsub Feature("K idneyTrack ers", ".gl ucose")
  58       Watir: :Wait.unti l {@common Elements.t ext.includ e? "Tested :"}
  59  
  60       $today Long = get DateNthDay sAgo(0, "% m/%d/%Y")
  61       $yeste rdayShort  = getDateN thDaysAgo( 1, "%m/%d/ %y")
  62       $yeste rdayLong =  getDateNt hDaysAgo(1 , "%m/%d/% Y")
  63       $tomor row = getD ateNthDays FromNow(1,  "%m/%d/%Y ")
  64       $sixYe arsAgo = g etDateNthY earsAgo(6,  "%m/%d/%Y ")
  65       $sixYe ars1dayAgo  = getDate NthDaysAgo (2193, "%m /%d/%Y")
  66       $oneYe arAgo = ge tDateNthYe arsAgo(1,  "%m/%d/%Y" )
  67  
  68     end
  69  
  70     after(:a ll) do
  71       @drive r.close
  72     end
  73  
  74     context  'AC#DCKDA- 630,543,12 08|TC#DCKD A-574,557, 1214`:  Ad d New Entr y for Kidn ey Glucose  Tracker'  do
  75       it '.  Verify the  Add (+) b utton is a vailable'  do
  76         expe ct(@tklist Detail.add NewEntry?) .to eq(tru e)
  77       end
  78  
  79       it '.  Verify the  detail sc reen heade r displays  correctly ' do
  80         @tkl istDetail. addNewEntr y
  81         @com monElement s.primaryH eader_elem ent.when_v isible(tim eout=10)
  82         expe ct(@common Elements.p rimaryHead er).to eq( "Add Gluco se Entry")
  83       end
  84  
  85       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
  86         Wati r::Wait.un til {@comm onElements .text.incl ude? "Nume ric value  (mg/dl)"}
  87         expe ct(@common Elements.r equiredFie ldLabel).t o eq("* re quired fie ld")
  88         expe ct(@tklist Detail.dat eLabel).to  eq("* Dat e:")
  89         expe ct(@tklist Detail.tim eLabel).to  eq("* Tim e:")
  90         expe ct(@tklist Detail.glu coseLevelL bl.include ?("* Gluco se Level ( mg/dl):")) .to eq(tru e)
  91         expe ct(@tklist Detail.tes tMethodLab el).to eq( "* Tested: ")
  92         expe ct(@tklist Detail.not eLabel).to  eq("Note: ")
  93       end
  94  
  95       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
  96         expe ct(@tklist Detail.dat eOnDetail_ element.at tribute('p laceholder ')).to eq( "MM/DD/YYY Y")
  97         expe ct(@tklist Detail.tim eOnDetail_ element.at tribute('p laceholder ')).to eq( "HH:MM AM/ PM")
  98       end
  99  
  100       it '.  Select the  Numeric V alue radio  button. V erify that  the edit  box has th e correct  label and  user can e nter numer ic values  ' do
  101         @tkl istDetail. selectAGlu coseRadioB utton("tru e", "numer icValue")
  102         slee p 0.5
  103         expe ct(@tklist Detail.glu coseNumeri cValueLbl) .to eq("Gl ucose Leve l (mg/dl): ")
  104         expe ct(@tklist Detail.glu coseLevel_ element.at tribute("p laceholder ")).to eq( "Between 0  and 600")
  105         @tkl istDetail. glucoseLev el = "601"
  106         @tkl istDetail. saveBttn_e lement.sen d_keys(:ta b)
  107         @com monElement s.scrollDo wn(@driver )
  108         @tkl istDetail. saveBttn
  109         @err or.errorHe ader_eleme nt.when_vi sible
  110         errM sg  = "Glu cose Level  (mg/dl) i s outside  the expect ed range.  Please ent er a value  between 0  and 600."
  111         expe ct(@error. isThisErro rDisplayed (errMsg)). to eq(true )
  112       end
  113  
  114       it '.  Select the  Non-Numer ic Value r adio butto n. Verify  that the e dit box ha s the corr ect label  and user c an enter n on-numeric  values '  do
  115         @tkl istDetail. selectAGlu coseRadioB utton("fal se", "nume ricValue")
  116         slee p 0.5
  117         expe ct(@tklist Detail.glu coseNonNum ericLbl).t o eq("Moni tor Readin g:")
  118         expe ct(@tklist Detail.glu coNonNumer ic_element .attribute ("placehol der")).to  eq("Exampl e: High")
  119         @tkl istDetail. glucoNonNu meric = "N ormal"
  120         @tkl istDetail. testMethod ="After Me al"
  121         @tkl istDetail. saveBttn
  122         @com monTest.wa itForConte ntLoaded
  123         slee p 2
  124         expe ct(@tklist Detail.get DisplayedV alueOnSubF eature(3)) .to eq("No rmal")
  125       end
  126  
  127       it '.  Verify the  Tested dr op down li st set on  Select as  default an d had the  right choi ces to sel ect from.'  do
  128         @tkl istDetail. addNewEntr y
  129         @com monTest.wa itForConte ntLoaded
  130         expe ct(@tklist Detail.tes tMethod).t o eq("Sele ct")
  131         expe ct(@tklist Detail.tes tMethod_op tions.incl ude?("Fast ing (8 hou rs)")).to  eq(true)
  132         expe ct(@tklist Detail.tes tMethod_op tions.incl ude?("Afte r Meal")). to eq(true )
  133         expe ct(@tklist Detail.tes tMethod_op tions.incl ude?("Unkn own")).to  eq(true)
  134       end
  135  
  136       it '.  Verify tha t Date is  required a nd can not  be future  date; Tim e is requi red.' do
  137         @tkl istDetail. dateOnDeta il= ""
  138         slee p 0.5
  139         @tkl istDetail. timeOnDeta il= ""
  140         slee p 0.5
  141         @tkl istDetail. saveBttn_e lement.sen d_keys(:ta b)
  142         @com monElement s.scrollDo wn(@driver )
  143         @tkl istDetail. saveBttn
  144         @err or.errorHe ader_eleme nt.when_vi sible
  145         expe ct(@error. isThisErro rDisplayed ("Date fie ld is requ ired.")).t o eq(true)
  146         expe ct(@error. isThisErro rDisplayed ("Time fie ld is requ ired.")).t o eq(true)
  147  
  148         @tkl istDetail. dateOnDeta il= $tomor row
  149         slee p 0.5
  150         @tkl istDetail. saveBttn
  151         errM sg  = "Dat e must be  between "  + $sixYear sAgo + " a nd " + $to dayLong +  "."
  152         
  153         expe ct(@error. isThisErro rDisplayed (errMsg)). to eq(true )
  154       end
  155  
  156       it '.  Verify the  Note fiel d has a ch aracter co unter and  it allows  max 250 ch aracters'  do
  157         expe ct(@tklist Detail.cha racterCoun ter?).to e q(true)
  158         expe ct(@tklist Detail.tex tareaMaxLe ngthTest(2 50, true,  "textarea" ,"Note")). to eq(1)
  159         @tkl istDetail. cancelBttn _element.s end_keys(: tab)
  160         @com monElement s.scrollDo wn(@driver )
  161         slee p 1
  162         @tkl istDetail. cancelBttn
  163         @tkl istDetail. addNewEntr y_element. when_visib le(timeout =10)
  164       end
  165  
  166       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
  167         @tkl istDetail. addAGlucos eEntry($ye sterdayLon g, "07:00  AM", 69, " Fasting (8  hours)",  "")
  168         valu eStr = '69 , Fasting  (8 hours),  ' + $yest erdayLong  + ' 07:00  AM'
  169         slee p 2
  170         @tkl istDetail. summaryTab le_element .when_visi ble(timeou t=15)
  171         expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(2, 4, v alueStr, f alse)).to  eq(true)
  172  
  173         @tkl istDetail. addAGlucos eEntry($ye sterdayLon g, "01:00  PM", 180,  "After Mea l", "")
  174         valu eStr = '18 0, After M eal, ' + $ yesterdayL ong + ' 01 :00 PM'
  175         slee p 2
  176         @tkl istDetail. summaryTab le_element .when_visi ble(timeou t=15)
  177         expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(2, 4, v alueStr, f alse)).to  eq(true)
  178  
  179         @tkl istDetail. addAGlucos eEntry($ye sterdayLon g, "08:00  PM", 150,  "Unknown",  "Walked a fter dinne r")
  180         valu eStr = '15 0, Unknown , ' + $yes terdayLong  + ' 08:00  PM'
  181         slee p 2
  182         @tkl istDetail. summaryTab le_element .when_visi ble(timeou t=15)
  183         expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(2, 4, v alueStr, t rue)).to e q(true)
  184       end
  185  
  186       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
  187         @tkl istDetail. addAGlucos eEntry($ye sterdayLon g, "08:00  PM", 100,  "After Mea l", "Walke d after di nner")
  188         @com monTest.wa itForConte ntLoaded
  189         if @ error.erro rHeader? ! = true
  190           ex pect("Dupl icate date /time were  saved wit hout throw ing an err or").to eq ("Duplicat e date/tim e is not a llowed")
  191         else
  192           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 ."
  193           ex pect(@erro r.isThisEr rorDisplay ed(errMsg) ).to eq(tr ue)
  194           @t klistDetai l.cancelBt tn_element .send_keys (:tab)
  195           @c ommonEleme nts.scroll Down(@driv er)
  196           @t klistDetai l.cancelBt tn
  197           @t klistDetai l.summaryT able_eleme nt.when_vi sible(time out=15)
  198         end
  199       end
  200     end
  201  
  202     context  'AC#DCKDA- 631|TC#DCK DA-574:  E dit an Ent ry for Kid ney Glucos e Tracker'  do
  203       it '.  Verify tha t All data  elements  available  in Add Ent ry mode ar e visible. ' do
  204         @tkl istDetail. clickAnEnt ryToEditOr Delete(2)
  205         @com monTest.wa itForConte ntLoaded
  206         expe ct(@common Elements.p rimaryHead er).to eq( "Edit Gluc ose Entry" )
  207         expe ct(@tklist Detail.dat eLabel).to  eq("* Dat e:")
  208         expe ct(@tklist Detail.tim eLabel).to  eq("* Tim e:")
  209         expe ct(@tklist Detail.glu coseLevelL bl.include ?("* Gluco se Level ( mg/dl):")) .to eq(tru e)
  210         expe ct(@tklist Detail.tes tMethodLab el).to eq( "* Tested: ")
  211         expe ct(@tklist Detail.not eLabel).to  eq("Note: ")
  212       end
  213  
  214       it '.  Verify tha t all valu es previou sly saved  are visibl e.' do
  215         expe ct(@tklist Detail.dat eOnDetail) .to eq($ye sterdayLon g)
  216         expe ct(@tklist Detail.tim eOnDetail) .to eq("08 :00 PM")
  217         expe ct(@tklist Detail.glu coseLevel) .to eq("15 0")
  218         expe ct(@tklist Detail.tes tMethod).t o eq("Unkn own")
  219         expe ct(@tklist Detail.not e).to eq(" Walked aft er dinner" )
  220       end
  221  
  222       it '.  Modify a v alue and s ave. Verif y the upda ted value  displays i n the tabl e view' do
  223         @tkl istDetail. glucoseLev el = 200
  224         @tkl istDetail. saveBttn_e lement.sen d_keys(:ta b)
  225         @com monElement s.scrollDo wn(@driver )
  226         @tkl istDetail. saveBttn
  227         @com monTest.wa itForConte ntLoaded
  228         slee p 2
  229         valu eStr = "20 0, Unknown , " + $yes terdayLong  + " 08:00  PM"
  230         expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(2, 4, v alueStr, t rue)).to e q(true)
  231       end
  232  
  233     end
  234  
  235     context  'AC#DCKDA- 631|TC#DCK DA-574:  C ancel and  Delete for  Kidney Gl ucose' do
  236       it '.  Verify tha t When a u ser select s Cancel,  no updates  are made  to the rec ord.' do
  237         @tkl istDetail. clickAnEnt ryToEditOr Delete(2)
  238         @tkl istDetail. cancelBttn _element.s end_keys(: tab)
  239         @com monElement s.scrollDo wn(@driver )
  240         @tkl istDetail. cancelBttn
  241         @com monTest.wa itForConte ntLoaded
  242         valu eStr = "20 0, Unknown , " + $yes terdayLong  + " 08:00  PM"
  243         expe ct(@tklist Detail.ver ifyValuesD isplayRigh tInTableVi ew(2, 4, v alueStr, t rue)).to e q(true)
  244       end
  245  
  246       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
  247         @tkl istDetail. clickAnEnt ryToEditOr Delete(2)
  248         @tkl istDetail. deleteBttn _element.s end_keys(: tab)
  249         @com monElement s.scrollDo wn(@driver )
  250         @tkl istDetail. deleteBttn
  251         @mod al.modalTi tle_elemen t.when_vis ible
  252         expe ct(@modal. modalTitle ).to eq("C onfirmatio n")
  253         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.")
  254         @mod al.ok2
  255         @mod al.modalTi tle_elemen t.when_not _visible
  256         expe ct(@common Elements.p rimaryHead er).to eq( "Edit Gluc ose Entry" )
  257  
  258         @tkl istDetail. deleteBttn _element.s end_keys(: tab)
  259         @com monElement s.scrollDo wn(@driver )
  260         slee p 1
  261         @tkl istDetail. deleteBttn
  262         @mod al.modalTi tle_elemen t.when_vis ible
  263         @mod al.yes
  264         valu eStr = $ye sterdayLon g + "08:00  PM"
  265         expe ct(@tklist Detail.sea rchThisVal ueInAllRow s(1, value Str)).to e q(false)
  266       end
  267     end
  268  
  269     context  'AC#DCKDA- 633 |TC#DC KDA-574: N avigation'  do
  270       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
  271  
  272         begi n
  273           Wa tir::Wait. until
  274           @t klistDetai l.busySpin ner_elemen t.when_not _visible
  275         resc ue
  276           Wa tir::Wait: :TimeoutEr ror
  277           un til
  278           @t klistDetai l.busySpin ner_elemen t.when_not _visible
  279           en d
  280         end
  281  
  282         @tkl istDetail. addNewEntr y_element. when_visib le
  283         @tkl istDetail. addNewEntr y
  284         @com monTest.wa itForConte ntLoaded
  285         
  286         resi zeWindowTo (320, 480)
  287         slee p 1
  288         expe ct(@common Elements.r eturnToPre vScreen?). to eq(true )
  289         expe ct(@common Elements.r eturnToPre vScreen_el ement.attr ibute('tit le')).to e q("Return  to Previou s Screen")
  290  
  291         @com monElement s.returnTo PrevScreen
  292         @com monElement s.primaryH eader_elem ent.when_v isible(tim eout=10)
  293         expe ct(@common Elements.p rimaryHead er).to eq( "Glucose")
  294       end
  295  
  296       it '.  Verify use r is promp t with a m odal when  clicking <  with unsa ved data'  do
  297         @tkl istDetail. clickAnEnt ryToEditOr Delete(2)
  298         @tkl istDetail. glucoseLev el = 230
  299         @com monElement s.returnTo PrevScreen
  300         @mod al.modalTi tle_elemen t.when_vis ible
  301         expe ct(@modal. modalTitle ).to eq("C onfirmatio n")
  302         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. ")
  303  
  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 Gluc ose Entry" )
  307  
  308         @tkl istDetail. glucoseLev el = 230
  309         @com monElement s.returnTo PrevScreen
  310         @mod al.modalTi tle_elemen t.when_vis ible
  311         
  312         @mod al.yes
  313         @mod al.modalTi tle_elemen t.when_not _visible
  314         expe ct(@common Elements.p rimaryHead er).to eq( "Glucose")
  315       end
  316  
  317       it '.  Verify tha t when nav igate away  from a sc reen with  unsaved da ta, the sa me modal p ops up' do
  318         @tkl istDetail. startDate_ element.se nd_keys(:t ab)
  319         @tkl istDetail. startDate
  320         Wati r::Wait.un til {@tkli stDetail.t ext.includ e? "Glucos e Level (m g/dl)"}
  321         @tkl istDetail. clickAnEnt ryToEditOr Delete(2)
  322         @tkl istDetail. glucoseLev el= 230
  323         
  324         @lef tnav.leftS ideNav
  325         @lef tnav.home_ element.wh en_visible
  326         @lef tnav.learn More
  327         @mod al.modalTi tle_elemen t.when_vis ible
  328         expe ct(@modal. modalTitle ).to eq("C onfirmatio n")
  329         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. ")
  330  
  331         @mod al.yes
  332         
  333         resi zeWindowTo Default()
  334       end
  335     end
  336  
  337   end