690. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 10/12/2018 4:04:44 PM Eastern 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.

690.1 Files compared

# Location File Last Modified
1 Vetlink 2.0.zip\Vetlink 2.0\vetlink-web.zip\vetlink-web\acceptance_test\selenium-ruby\tests\VetLink_Post VetLinkPost_30days_spec.rb Thu Nov 2 15:14:16 2017 UTC
2 Vetlink 2.0.zip\Vetlink 2.0\vetlink-web.zip\vetlink-web\acceptance_test\selenium-ruby\tests\VetLink_Post VetLinkPost_30days_spec.rb Fri Oct 12 13:43:42 2018 UTC

690.2 Comparison summary

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

690.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

690.4 Active regular expressions

No regular expressions were active.

690.5 Comparison detail

  1   require_re lative(".. /rspec_hel per")
  2   gem "test- unit"
  3   require "t est/unit"
  4   require 'm ongo'
  5   require 'r ubygems'
  6   require 's elenium-we bdriver'
  7   require_re lative(".. /../module /Constants ")
  8   require_re lative(".. /../pages/ vetlink_ma in")
  9   require_re lative(".. /../pages/ login_scre en")
  10   require_re lative(".. /../pages/ vetlink_me nu")
  11   require_re lative(".. /../pages/ menu")
  12   require_re lative(".. /../pages/ vetlink_ho me")
  13   require_re lative(".. /../pages/ vetlink_ab out")
  14   require_re lative(".. /../pages/ vetlink_gr oups")
  15   require_re lative(".. /../pages/ vetlink_gr oups_detai l")
  16   require_re lative(".. /../pages/ help_scree n")
  17   require_re lative(".. /../pages/ vetlink_my profile")
  18   require_re lative(".. /../pages/ vetlink_mo dal")
  19   require_re lative(".. /../pages/ vetlink_my groupsdeta il")
  20   require_re lative(".. /../pages/ eula")
  21   require_re lative(".. /../pages/ vetlink_we lcome")
  22   require_re lative(".. /../module /Assert")
  23   require_re lative(".. /../module /DriverUti lity")
  24   require_re lative(".. /../module /DBUtility ")
  25   require_re lative(".. /../module /MongoData ")
  26   require_re lative(".. /../module /Site")
  27  
  28   ########## ########## ########## ########## ########## ########## ########## ########
  29   # VetLinkP ost_30days
  30   #
  31   # User Sto ries/Crite rias:
  32   # -------- ---------- -----
  33   #
  34   # Story -  DODVAL-229  Add Total  Posts to  My Groups  page
  35   # Acceptan ce Criteri a -  DODVA L-480 Add  total post s to my gr oups page
  36   #
  37   ########## ########## ########## ########## ########## ########## ########## ########
  38  
  39  
  40   describe " Vetlink Po st" do
  41  
  42     include  Site
  43     include  Assert
  44     include  DriverUtil ity
  45     include  DBUtility
  46     include  Mongo
  47  
  48     NUMBER_O F_POSTS =  30
  49     SLEEP_AF TER_UPDATE  = 60.0
  50  
  51     before(: all) do
  52       puts(" ++++++++++ ++++++++++ ++ Start V etlinkPost _30days.rb  +++++++++ ++++++++++ ++++++++++ +++")
  53       initia lizeConfig urations()
  54       $PRINT _DEBUG_MSG S = false
  55       saveOr ginalColle ctions()   #Must run  after init ializeConf igurations ()
  56       remove ProfileCol lection()  #Must run  after save OrginalCol lections()
  57       remove GroupColle ction() #M ust run af ter saveOr ginalColle ctions()
  58       insert DefaultGro upData()
  59       define Variables( )
  60  
  61         MONGO_URI  = "mongodb ://vetlink : IP             7/vetlink? ssl=true&c onnectTime outMS=2000 0&authMech anism=SCRA M-SHA-1&"
  62       CERT_P ATH = File .join(File .dirname(_ _FILE__),  "../../dat a/mongodb- cert.crt")
  63       @mainP age = site GetMainPag e
  64       @profi lePage = s iteGetProf ilePage
  65       @menu  = siteGetM enuCommon
  66       @group sDetailPag e = siteGe tGroupsDet ailPage
  67  
  68       @dateA rray = []
  69  
  70       @group Name = ""
  71       #@grou pPage = si teGetGroup sPage
  72       setup_ 0000_main_ page
  73       saveVa riables()
  74     end
  75  
  76  
  77  
  78     after(:a ll) do
  79       restor eOrginalCo llections( )
  80       quitDr iver()
  81       puts(" ++++++++++ ++++++++++ ++ End Vet linkPost_3 0days.rb + ++++++++++ ++++++++++ ++++++++++ +")
  82     end
  83  
  84  
  85  
  86     def crea teprofilef orgroups
  87       clickC ustom(CREA TE_PROFILE _BUTTON_ID )
  88       @profi lePage.fil lInputBox( $USERNAME_ ID, $USERN AME_TEST_D ATA)
  89       @group sPage = @p rofilePage .tapOnSave
  90       click_ element(Ve tLink_Prof ilePage::C ONFIRM_SAV E_MODAL_PO P_UP_YES_B UTTON)
  91       wait_f or_element _to_load(V etLink_Pro filePage:: GROUPS_HEA DER)
  92  
  93     end
  94  
  95  
  96  
  97     def rspe cAssertEqu al(expecte dValue, va lue)
  98       value. should ==  expectedVa lue
  99     end
  100  
  101  
  102  
  103     def add_ posts_to_g roup
  104       ppid =  get_profi le_id("PAT ID26")  #  Get patien t object i d
  105       ggid =  get_group _id("Army" )       #  Get group  object id
  106  
  107       #postN umber = 0
  108       #36.ti mes do
  109       for po stNumber i n 0..(NUMB ER_OF_POST S - 1)
  110         @dat eArray <<  addDays(Ti me.now , - postNumber )
  111         #ins ert_group_ post(ppid, ggid, "com ment-#{pos tNumber}", addDays(Ti me.now , - postNumber ))
  112         inse rt_group_p ost(ppid,g gid, "comm ent-#{post Number}",@ dateArray[ postNumber ])
  113       end
  114     end
  115  
  116  
  117  
  118     def setu p_0000_mai n_page
  119       putd " *#{__metho d__}"
  120       putd(" EULA Page  displayed,  click on  Accept but ton then g oto DSLogo n page")
  121       @mainP age = acce ptEulaGo2_ DSLogonPag e
  122  
  123       puts(" waitForPag eToLoad('V eteran Lin k')-Before  Login")
  124       waitFo rPageToLoa d('Veteran  Link')
  125       puts(" Page('Vete ran Link')  Loaded")
  126  
  127       @mainP age.userLo gins
  128  
  129       puts(" waitForPag eToLoad('V eteran Lin k')-After  Login")
  130       waitFo rPageToLoa d('Veteran  Link')
  131       puts(" Page('Vete ran Link')  Loaded")
  132  
  133       create profilefor groups
  134       sleep  2.0
  135       add_po sts_to_gro up
  136     end
  137  
  138  
  139     it 'shou ld join a  standard g roup' do
  140       loadVa riables
  141  
  142       waitFo rPageToLoa d('Groups' )
  143       @group sPage = Ve tLink_Grou psPage.new (@driver,  @BASE_URL)
  144       rspecA ssertEqual ('Total Co mments: 0'                   ,@g roupsPage. getMyGroup sNewMessag eText)
  145  
  146       @group sPage.tapJ oinTabButt on()
  147       @group sPage.tapO nJoinGroup ButtonbyRo w(2) # Joi n Army
  148       waitFo rPageToLoa d('Groups' )
  149       rspecA ssertEqual ("Army (30 )\n, Recen t Posts, C lick to le arn about  this Group "                                ,@groupsPa ge.getMyGr oupsNameby Row(1))
  150  
  151       saveVa riables()
  152     end
  153  
  154  
  155     it 'shou ld see 30  postings'  do
  156       loadVa riables()
  157  
  158       waitFo rPageToLoa d('Groups' )
  159       @group sPage = Ve tLink_Grou psPage.new (@driver,  @BASE_URL)
  160       puts " getMyGroup sNamebyRow =[#{@group sPage.getM yGroupsNam ebyRow(1)} ]"
  161       puts " getMyGroup sMessageCo untbyRow=[ #{@groupsP age.getMyG roupsMessa geCountbyR ow(1)}]"
  162       puts " getMyGroup sNewMessag eText=[#{@ groupsPage .getMyGrou psNewMessa geText}]"
  163  
  164       rspecA ssertEqual ('Total Co mments: 30 '                  ,@ groupsPage .getMyGrou psNewMessa geText)
  165       rspecA ssertEqual ("Army (30 )\n, Recen t Posts, C lick to le arn about  this Group "                                ,@groupsPa ge.getMyGr oupsNameby Row(1))
  166  
  167       @myGro upsPage =  @groupsPag e.tapOnMyG roupsLineb yRow(1)
  168       @myGro upsPage =  VetLink_My GroupsDeta ilPage.new (@driver,  @BASE_URL)
  169       puts " getNumberO fMembers   =[#{@myGro upsPage.ge tNumberOfM embers}]"
  170  
  171       rspecA ssertEqual ('Current  Members: 1 '                ,@my GroupsPage .getNumber OfMembers)
  172       waitFo rPageToLoa d("Army")
  173       rspecA ssertEqual ('30 Comme nts'                         ,@m yGroupsPag e.getNumbe rOfPostsTe xt)
  174  
  175       @group sPage = @m yGroupsPag e.tapOnExi t
  176  
  177       saveVa riables()
  178     end
  179  
  180  
  181  
  182     it 'Age  post dates  until all  are over  30 days ol d' do
  183       puts " ========== ========== ===== AGED ATE======= ========== ========== ========"
  184       loadVa riables()
  185  
  186       verify _groups_pa ge(30)
  187       waitFo rPageToLoa d('Groups' )
  188  
  189       @myGro upsPage =  @groupsPag e.tapOnMyG roupsLineb yRow(1)
  190       verify _group_pos ts(30, 0)
  191  
  192       #daysP ast = 0
  193       #1.tim es do   #  30
  194       # days Past = day sPast + 1
  195  
  196       for da ysPast in  28..30
  197         ageD ateOnPosts (daysPast)
  198  
  199         # ve rify_group s_page(day sPast)
  200  
  201         @myG roupsPage  = @groupsP age.tapOnM yGroupsLin ebyRow(1)
  202         veri fy_group_p osts(30 -  daysPast,  daysPast)
  203         # @g roupsPage  = @myGroup sPage.tapO nExit
  204  
  205  
  206         veri fy_groups_ page(30 -  daysPast)
  207  
  208       end
  209       saveVa riables()
  210     end
  211  
  212  
  213      it "Add  new posts .  It shou ld now app ear" do
  214       loadVa riables()
  215  
  216  
  217       waitFo rPageToLoa d('Groups' )
  218  
  219       rspecA ssertEqual ('Total Co mments: 0'                    ,@ groupsPage .getMyGrou psNewMessa geText)
  220       rspecA ssertEqual ("Army (0) \n, Recent  Posts, Cl ick to lea rn about t his Group"                               ,@ groupsPage .getMyGrou psNamebyRo w(1))
  221       rspecA ssertEqual ("(0)"                                  ,@g roupsPage. getMyGroup sMessageCo untbyRow(1 ))
  222  
  223       @myGro upsPage =  @groupsPag e.tapOnMyG roupsLineb yRow(1)
  224       @myGro upsPage =  VetLink_My GroupsDeta ilPage.new (@driver,  @BASE_URL)
  225       postMo dal = @myG roupsPage. tapOnComme nt
  226       postMo dal.setCom ment("a")
  227       postMo dal.tapOnP ost
  228  
  229       postMo dal = @myG roupsPage. tapOnComme nt
  230       postMo dal.setCom ment("abcd efghijklmn opqrs\nabc defghijklm nopqrs\nab cdefghijkl mnopqrs\na bcdefghijk lmnopqrs\n abcdefghij klmnopqrs\ nabcdefghi jklmnopqrs \n\n\n\n\n \n")
  231  
  232       postMo dal.tapOnP ost
  233  
  234       rspecA ssertEqual ('Current  Members: 1 '                ,@my GroupsPage .getNumber OfMembers)
  235  
  236       waitFo rPageToLoa d("Army")
  237  
  238       if @my GroupsPage .getNumber OfPostsTex t != '2 Co mments'
  239         puts  "!!!!!! s light paus e for comm ent count  change !!! !!"
  240         paus e 2.0
  241       end
  242       rspecA ssertEqual ('2 Commen ts'                         ,@my GroupsPage .getNumber OfPostsTex t)
  243  
  244       puts " getPostDat eTimeByRow (1)=[#{@my GroupsPage .getPostDa teTimeByRo w(1)}]"
  245       puts " getPostCon tentByRow( 1)=[#{@myG roupsPage. getPostCon tentByRow( 1)}]"
  246       puts " getPostScr eenNameByR ow(1)=[#{@ myGroupsPa ge.getPost ScreenName ByRow(1)}] "
  247       puts " currentDat e=[#{curre ntDate()}] "
  248  
  249       rspecA ssertEqual (true, @my GroupsPage .getPostDa teTimeByRo w(1).inclu de?(curren tDate()))
  250  
  251       rspecA ssertEqual ("abcdefgh ijklmnopqr s abcdefgh ijklmnopqr s abcdefgh ijklmnopqr s abcdefgh ijklmnopqr s abcdefgh ijklmnopqr s abcdefgh ijklmnopqr s", @myGro upsPage.ge tPostConte ntByRow(1) )
  252       rspecA ssertEqual ('JohnUser 9012_343.3 3X',@myGro upsPage.ge tPostScree nNameByRow (1))
  253       rspecA ssertEqual ("a", @myG roupsPage. getPostCon tentByRow( 2))
  254       rspecA ssertEqual ('JohnUser 9012_343.3 3X',@myGro upsPage.ge tPostScree nNameByRow (2))
  255  
  256       @group sPage = @m yGroupsPag e.tapOnExi t
  257  
  258       rspecA ssertEqual ('Total Co mments: 2'                    ,@ groupsPage .getMyGrou psNewMessa geText)
  259       rspecA ssertEqual ("Army (2) \n, Recent  Posts, Cl ick to lea rn about t his Group"                                , @groupsPag e.getMyGro upsNamebyR ow(1))
  260       rspecA ssertEqual ('(2)'                                   ,@ groupsPage .getMyGrou psMessageC ountbyRow( 1))
  261  
  262       saveVa riables()
  263     end
  264  
  265  
  266     def veri fy_groups_ page(expec tedNumOfCo mments)
  267       waitFo rPageToLoa d('Groups' )
  268  
  269       puts " \n*verify  groups pag e: expecte dNumOfComm ents=[#{ex pectedNumO fComments} ] -------- ---------- ---------- --"
  270       puts " getMyGroup sNewMessag eText=[#{@ groupsPage .getMyGrou psNewMessa geText}]"
  271       puts " getMyGroup sNewMessag eCount=[#{ @groupsPag e.getMyGro upsNewMess ageCount}] "
  272       puts " getMyGroup sNamebyRow (1)=[#{@gr oupsPage.g etMyGroups NamebyRow( 1)}]"
  273       puts " getMyGroup sMessageCo untbyRow(1 )=[#{@grou psPage.get MyGroupsMe ssageCount byRow(1)}] "
  274       puts " ---------- ---------- ---------- ---------- ---------- ---------- ---------"
  275  
  276       rspecA ssertEqual (expectedN umOfCommen ts ,@group sPage.getM yGroupsNew MessageCou nt)
  277       rspecA ssertEqual ("(#{expec tedNumOfCo mments})"  ,@groupsPa ge.getMyGr oupsMessag eCountbyRo w(1))
  278  
  279     end
  280  
  281  
  282  
  283     def veri fy_group_p osts(expec tedNumOfCo mments, da ysToAge)
  284       puts " \n*verify  group POST S: expecte dNumOfComm ents=[#{ex pectedNumO fComments} ] -------- ---------- ---------- --"
  285       @myGro upsPage =  VetLink_My GroupsDeta ilPage.new (@driver,  @BASE_URL)
  286       puts " getNumberO fMembers   =[#{@myGro upsPage.ge tNumberOfM embers}]"
  287       #puts  "getGroupN ame         =[#{@myGr oupsPage.g etGroupNam e}]"
  288       #puts  "getGroupC reatedDate  =[#{@myGr oupsPage.g etGroupCre atedDate}] "
  289       puts " getNumberO fPostsText =[#{@myGro upsPage.ge tNumberOfP ostsText}] "
  290       puts " getNumberO fPosts     =[#{@myGro upsPage.ge tNumberOfP osts}]"
  291  
  292       rspecA ssertEqual ('Current  Members: 1 '  ,@myGro upsPage.ge tNumberOfM embers)
  293       waitFo rPageToLoa d("Army")
  294       rspecA ssertEqual (expectedN umOfCommen ts ,@myGro upsPage.ge tNumberOfP osts)
  295  
  296  
  297       #puts  "getMyGrou psNewMessa geText=[#{ @groupsPag e.getMyGro upsNewMess ageText}]"
  298       puts " - - - - -  - - - - -  - - - - -  - - - - -  - - - - -  - - - - -  - - - - -"
  299       #for r ow in 1..@ myGroupsPa ge.getNumb erOfPosts
  300       for ro w in 1..ex pectedNumO fComments
  301         t =  addDays(@d ateArray[r ow-1], -da ysToAge)
  302         puts  "formatDa teTimeAMPM (t)          =[#{form atDateTime AMPM(t)}]"
  303         puts  "getPostD ateTimeByR ow(#{row})   =[#{@myG roupsPage. getPostDat eTimeByRow (row)}]"
  304         puts  "getPostC ontentByRo w(#{row})    =[#{@myG roupsPage. getPostCon tentByRow( row)}]"
  305         puts  "getPostS creenNameB yRow(#{row })=[#{@myG roupsPage. getPostScr eenNameByR ow(row)}]"
  306       end
  307  
  308       puts " - - - - -  - - - - -  - - - - -  - - - - -  - - - - -  - - - - -  - - - - -"
  309       @myGro upsPage.ge tPostList. each_with_ index do | e, i|
  310         puts  "verify_g roup_posts : [#{i}] [ #{e}]"
  311       end
  312       puts " ---------- ---------- ---------- ---------- ---------- ---------- ---------"
  313  
  314       for ro w in 1..ex pectedNumO fComments
  315         row1  = row-1
  316         t =  addDays(@d ateArray[r ow1], -day sToAge)
  317         rspe cAssertEqu al($USERNA ME_TEST_DA TA   ,@myG roupsPage. getPostScr eenNameByR ow(row))
  318         rspe cAssertEqu al(formatD ateTimeAMP M(t) ,@myG roupsPage. getPostDat eTimeByRow (row))
  319         rspe cAssertEqu al("commen t-#{row1}" ,@myGroups Page.getPo stContentB yRow(row))
  320       end
  321       @myGro upsPage.ta pOnExit
  322  
  323     end
  324  
  325  
  326     def get_ profile_id (patientId )
  327       mongo_ client = M ongo::Clie nt.new(MON GO_URI, :s sl_verify  => true, : ssl_ca_cer t => CERT_ PATH )
  328       db = m ongo_clien t.database
  329       profil e = db.col lection('p rofile')
  330       pid =  profile.fi nd({"patie ntId" => p atientId},  {:fields  => ["_id"] }).to_a
  331       mongo_ client.clo se
  332       pidstr  = ''
  333       pid.ea ch_with_in dex do |e,  i|
  334         pids tr = e.val ues.to_a
  335       end
  336       return  pidstr[0]
  337     end
  338  
  339  
  340     def get_ group_id(g id)
  341       mongo_ client = M ongo::Clie nt.new(MON GO_URI, :s sl_verify  => true, : ssl_ca_cer t => CERT_ PATH )
  342       db = m ongo_clien t.database
  343       profil e = db.col lection('g roups')
  344       pid =  profile.fi nd({"name"  => gid},  {:fields = > ["_id"]} ).to_a
  345       mongo_ client.clo se
  346       pidstr  = ''
  347       pid.ea ch_with_in dex do |e,  i|
  348         pids tr = e.val ues.to_a
  349       end
  350       return  pidstr[0]
  351     end
  352  
  353  
  354  
  355     def inse rt_group_p ost(pid, g id, messag e, createD ate)
  356       mongo_ client = M ongo::Clie nt.new(MON GO_URI, :s sl_verify  => true, : ssl_ca_cer t => CERT_ PATH )
  357       db = m ongo_clien t.database
  358       puts " inserting. ..post pid =[#{pid}]  gid=[#{gid }] text=[# {message}]  createdDa te=[#{crea teDate}]"
  359       db.col lection('p osts').ins ert_one({  "groupId"  => gid,
  360                                               "text" =>  message,
  361                                               "userId" = > pid,
  362                                               "createdDa te" => cre ateDate})
  363       mongo_ client.clo se
  364     end
  365  
  366  
  367  
  368     def ageD ateOnPosts (daysPast)
  369       puts " *ageDateOn Posts(#{da ysPast}})"
  370  
  371       mongo_ client = M ongo::Clie nt.new(MON GO_URI, :s sl_verify  => true, : ssl_ca_cer t => CERT_ PATH )
  372       db = m ongo_clien t.database
  373       posts  = db.colle ction('pos ts')
  374       before count = db .collectio n('posts') .find().co unt
  375       puts " BEFORE POS TS=[#{db.c ollection( 'posts').f ind().coun t}]"
  376  
  377       for po stNumber i n 0..(NUMB ER_OF_POST S - 1)
  378         newC reateDate  = addDays( @dateArray [postNumbe r] , -(day sPast))
  379         puts  "update [ #{postNumb er}] date  [#{@dateAr ray[postNu mber]}] -- > [#{newCr eateDate}] "
  380         db.c ollection( 'posts').u pdate_one(  {'text' = > "comment -#{postNum ber}"}, \
  381           {' $set' => { 'createdDa te' => new CreateDate  }}, \
  382           {  :multi =>  false, :up sert => fa lse} )
  383  
  384       end
  385       i = 0
  386       120.ti mes do
  387         brea k if befor ecount !=  db.collect ion('posts ').find(). count
  388         i=i+ 1
  389         paus e 1.0
  390         puts  "Waiting  for Mongo  Triggers t o remove p osts Itera tion=[#{i} ]"
  391       end
  392       puts " AFTER POST S=[#{db.co llection(' posts').fi nd().count }]"
  393       mongo_ client.clo se
  394       #pause ForPurgeTr igger
  395     end
  396  
  397     def paus eForPurgeT rigger
  398       puts " Sleep #{SL EEP_AFTER_ UPDATE} se conds for  purge trig ger to run "
  399       sleep  SLEEP_AFTE R_UPDATE
  400     end
  401  
  402  
  403  
  404  
  405  
  406  
  407  
  408  
  409     def curr entDate
  410       return  Time.new. getutc.str ftime("%m/ %d/%Y")
  411     end
  412  
  413  
  414     def grou pContains? (elemArray , groupNam e)
  415       found  = false
  416       elemAr ray.each_w ith_index  do |elemen t, idx|
  417         puts ("check to  see if #{ element.te xt}  conta in #{group Name}")
  418         foun d = elemen t.text.inc lude?("#{g roupName}" )
  419         brea k if found
  420       end
  421       return  found
  422     end
  423  
  424     def Open GroupDetai lFromMyTab (index=0)
  425       iJoinG roup = @gr oupsPage.g etMyGroups List[index ]
  426       return  getGroupD etail(iJoi nGroup)
  427     end
  428  
  429     def Open FirstGroup DetailFrom MyTab()
  430       OpenGr oupDetailF romMyTab(0 ) #first g roup has i =0
  431     end
  432  
  433     def Open _ithGroupD etailFromM yTab(i)
  434       OpenGr oupDetailF romMyTab(i -1) #first  group has  i=0
  435     end
  436  
  437     def Open GroupDetai lFromJoinT ab(index=0 )
  438       iJoinG roup = @gr oupsPage.g etJoinGrou psList[ind ex]
  439       return  getGroupD etail(iJoi nGroup)
  440     end
  441  
  442     def Open FirstGroup DetailFrom JoinTab()
  443       OpenGr oupDetailF romJoinTab (0) #first  group has  i=0
  444     end
  445  
  446     def Open _ithGroupD etailFromJ oinTab(i)
  447       OpenGr oupDetailF romJoinTab (i-1) #fir st group h as i=0
  448     end
  449  
  450     def getG roupDetail (iJoinGrou p)
  451       groupN ame = iJoi nGroup.fin d_element( :xpath, "s pan[1]").t ext
  452       iJoinG roup.click
  453       text =  @groupsDe tailPage.w aitForPage Loaded(gro upName)
  454       return  groupName
  455     end
  456  
  457  
  458     def defi neVariable s
  459       define Var(:group Name)
  460       define Var(:mainP age)
  461       define Var(:profi lePage)
  462       define Var(:menu)
  463       define Var(:group sDetailPag e)
  464  
  465       define Var(:myGro upsPage)
  466       define Var(:group sPage)
  467       define Var(:dateA rray)
  468     end
  469  
  470  
  471     def save Variables
  472       saveVa r(:groupNa me             ,@grou pName)
  473       saveVa r(:mainPag e              ,@main Page)
  474       saveVa r(:profile Page           ,@prof ilePage)
  475       saveVa r(:menu                   ,@menu )
  476       saveVa r(:groupsD etailPage      ,@grou psDetailPa ge)
  477  
  478       saveVa r(:myGroup sPage          ,@myGr oupsPage)
  479       saveVa r(:groupsP age            ,@grou psPage)
  480       saveVa r(:dateArr ay             ,@date Array)
  481     end
  482  
  483  
  484     def load Variables
  485       @group Name                      = load Var(:group Name)
  486       @mainP age                       = load Var(:mainP age)
  487       @profi lePage                    = load Var(:profi lePage)
  488       @menu                            = load Var(:menu)
  489       @group sDetailPag e              = load Var(:group sDetailPag e)
  490  
  491       @myGro upsPage                   = load Var(:myGro upsPage)
  492       @group sPage                     = load Var(:group sPage)
  493       @dateA rray                      = load Var(:dateA rray)
  494  
  495     end
  496  
  497  
  498     it 'LAST  STEP' do
  499       siteLo gMeOut_Bac kToLaunchP ad(USER_NA ME)
  500       puts " ****DONE T ESTING Vet linkGroups .rb.  User  [#{USER_N AME}] logg ed out."
  501     end
  502   end