phoneuis/bubblemanager2/tsrc/bubbletest2/tdriver/tc_bubblemanager2.rb
author hgs
Fri, 03 Sep 2010 13:33:36 +0300
changeset 65 2a5d4ab426d3
permissions -rw-r--r--
201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
65
hgs
parents:
diff changeset
     1
############################################################################
hgs
parents:
diff changeset
     2
## 
hgs
parents:
diff changeset
     3
## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     4
## All rights reserved. 
hgs
parents:
diff changeset
     5
## 
hgs
parents:
diff changeset
     6
## This file is part of BubbleManager2. Reference TDriver test script. 
hgs
parents:
diff changeset
     7
## 
hgs
parents:
diff changeset
     8
## 
hgs
parents:
diff changeset
     9
############################################################################
hgs
parents:
diff changeset
    10
hgs
parents:
diff changeset
    11
require 'matti'
hgs
parents:
diff changeset
    12
require 'orbitbehaviours.rb'
hgs
parents:
diff changeset
    13
include MattiVerify
hgs
parents:
diff changeset
    14
hgs
parents:
diff changeset
    15
require 'test/unit'
hgs
parents:
diff changeset
    16
hgs
parents:
diff changeset
    17
class TC_BubbleManager2 < Test::Unit::TestCase
hgs
parents:
diff changeset
    18
  
hgs
parents:
diff changeset
    19
  # setup and teardown methods are always executed before each and after each test case method
hgs
parents:
diff changeset
    20
  def setup
hgs
parents:
diff changeset
    21
    # get the calculator app running 
hgs
parents:
diff changeset
    22
    @sut = MATTI.sut(:Id => "sut_qt")    
hgs
parents:
diff changeset
    23
    @testapp = @sut.run(:name => "bubbletest2")
hgs
parents:
diff changeset
    24
    
hgs
parents:
diff changeset
    25
  end
hgs
parents:
diff changeset
    26
  
hgs
parents:
diff changeset
    27
  def teardown   
hgs
parents:
diff changeset
    28
    @testapp.close        
hgs
parents:
diff changeset
    29
  end
hgs
parents:
diff changeset
    30
  
hgs
parents:
diff changeset
    31
  def test_mobile_terminated_call
hgs
parents:
diff changeset
    32
    
hgs
parents:
diff changeset
    33
    # create incoming call
hgs
parents:
diff changeset
    34
    @testapp.BubbleTestView.press_key(:kC) # ciphering
hgs
parents:
diff changeset
    35
    @testapp.BubbleTestView.press_key(:kD) # divert    
hgs
parents:
diff changeset
    36
    @testapp.BubbleTestView.press_key(:k1)
hgs
parents:
diff changeset
    37
    
hgs
parents:
diff changeset
    38
    verify( 5, "Incoming bubble shown" ) { @testapp.BubbleContainerWidget(:objectName => 'expandedBubble' )}
hgs
parents:
diff changeset
    39
    # check heading
hgs
parents:
diff changeset
    40
    verify { @testapp.BubbleHeadingWidget(:objectName => 'eb:bubbleHeading',
hgs
parents:
diff changeset
    41
                                          :textLine1 => '+35850123456789',
hgs
parents:
diff changeset
    42
                                          :textLine2 => 'calling',
hgs
parents:
diff changeset
    43
                                          :indicator1 => 'qtg_mono_ciphering_off',
hgs
parents:
diff changeset
    44
                                          :indicator2 => 'qtg_mono_call_diverted' ) }
hgs
parents:
diff changeset
    45
    # check image
hgs
parents:
diff changeset
    46
    verify { @testapp.BubbleImageWidget(:objectName => 'eb:callImage', 
hgs
parents:
diff changeset
    47
                                        :imageName => 'qtg_large_avatar' ) }
hgs
parents:
diff changeset
    48
                                        
hgs
parents:
diff changeset
    49
    # answer the call
hgs
parents:
diff changeset
    50
    @testapp.BubbleButton(:objectName => 'eb:leftButton').tap
hgs
parents:
diff changeset
    51
    
hgs
parents:
diff changeset
    52
    # check heading
hgs
parents:
diff changeset
    53
    verify { @testapp.BubbleHeadingWidget(:objectName => 'eb:bubbleHeading',
hgs
parents:
diff changeset
    54
                                          :textLine1 => '+35850123456789',
hgs
parents:
diff changeset
    55
                                          :textLine2 => '',
hgs
parents:
diff changeset
    56
                                          :indicator1 => 'qtg_mono_ciphering_off',
hgs
parents:
diff changeset
    57
                                          :indicator2 => '' ) }
hgs
parents:
diff changeset
    58
                                          
hgs
parents:
diff changeset
    59
    # test mute
hgs
parents:
diff changeset
    60
    verify_not { @testapp.HbLabel(:objectName => 'mutedIcon' ) }    
hgs
parents:
diff changeset
    61
    @testapp.BubbleButton(:objectName => 'eb:leftButton').tap
hgs
parents:
diff changeset
    62
    verify { @testapp.HbLabel(:objectName => 'mutedIcon' ) }
hgs
parents:
diff changeset
    63
    @testapp.BubbleButton(:objectName => 'eb:leftButton').tap
hgs
parents:
diff changeset
    64
    verify_not { @testapp.HbLabel(:objectName => 'mutedIcon' ) }
hgs
parents:
diff changeset
    65
                                          
hgs
parents:
diff changeset
    66
    # end the call
hgs
parents:
diff changeset
    67
    @testapp.BubbleButton(:objectName => 'eb:rightButton').tap
hgs
parents:
diff changeset
    68
    verify_not { @testapp.BubbleContainerWidget(:objectName => 'expandedBubble')}
hgs
parents:
diff changeset
    69
                                                                                                                                                                                              
hgs
parents:
diff changeset
    70
  end  
hgs
parents:
diff changeset
    71
  
hgs
parents:
diff changeset
    72
  def test_mobile_terminated_call_with_contact
hgs
parents:
diff changeset
    73
    
hgs
parents:
diff changeset
    74
    # create incoming call
hgs
parents:
diff changeset
    75
    @testapp.BubbleTestView.press_key(:kI) # image
hgs
parents:
diff changeset
    76
    @testapp.BubbleTestView.press_key(:kN) # name
hgs
parents:
diff changeset
    77
    @testapp.BubbleTestView.press_key(:k1)
hgs
parents:
diff changeset
    78
    
hgs
parents:
diff changeset
    79
    verify( 5, "Incoming bubble shown" ) { @testapp.BubbleContainerWidget(:objectName => 'expandedBubble' )}
hgs
parents:
diff changeset
    80
    # check heading
hgs
parents:
diff changeset
    81
    verify { @testapp.BubbleHeadingWidget(:objectName => 'eb:bubbleHeading',
hgs
parents:
diff changeset
    82
                                          :textLine1 => 'Gloria Andersson',
hgs
parents:
diff changeset
    83
                                          :textLine2 => '+35850123456789',
hgs
parents:
diff changeset
    84
                                          :textLine3 => 'calling',
hgs
parents:
diff changeset
    85
                                          :indicator1 => '',
hgs
parents:
diff changeset
    86
                                          :indicator2 => '' ) }
hgs
parents:
diff changeset
    87
    # check image
hgs
parents:
diff changeset
    88
    verify { @testapp.BubbleImageWidget(:objectName => 'eb:callImage', 
hgs
parents:
diff changeset
    89
                                        :imageName => ':resources/contactpic.jpg' ) }
hgs
parents:
diff changeset
    90
                                        
hgs
parents:
diff changeset
    91
    # reject the call
hgs
parents:
diff changeset
    92
    @testapp.BubbleButton(:objectName => 'eb:rightButton').tap
hgs
parents:
diff changeset
    93
    
hgs
parents:
diff changeset
    94
    verify_not { @testapp.BubbleContainerWidget(:objectName => 'expandedBubble')}
hgs
parents:
diff changeset
    95
                                                                                                                                                                                              
hgs
parents:
diff changeset
    96
  end  
hgs
parents:
diff changeset
    97
  
hgs
parents:
diff changeset
    98
  def test_waiting_call
hgs
parents:
diff changeset
    99
    
hgs
parents:
diff changeset
   100
    # create active call
hgs
parents:
diff changeset
   101
    @testapp.BubbleTestView.press_key(:k1)
hgs
parents:
diff changeset
   102
    @testapp.BubbleTestView.press_key(:k3)
hgs
parents:
diff changeset
   103
    
hgs
parents:
diff changeset
   104
    # waiting call
hgs
parents:
diff changeset
   105
    @testapp.BubbleTestView.press_key(:k1)
hgs
parents:
diff changeset
   106
    
hgs
parents:
diff changeset
   107
    verify( 5, "Active bubble shown" ) { @testapp.BubbleContainerWidget(:objectName => 'collapsedBubble' )}
hgs
parents:
diff changeset
   108
    verify( 5, "Waiting bubble shown" ) { @testapp.BubbleContainerWidget(:objectName => 'expandedBubble' )}
hgs
parents:
diff changeset
   109
    
hgs
parents:
diff changeset
   110
    # check ongoing call heading
hgs
parents:
diff changeset
   111
    verify { @testapp.BubbleHeadingWidget(:objectName => 'cb:bubbleHeading',
hgs
parents:
diff changeset
   112
                                          :textLine1 => '+35850123456789',
hgs
parents:
diff changeset
   113
                                          :textLine2 => '' ) }    
hgs
parents:
diff changeset
   114
    
hgs
parents:
diff changeset
   115
    # check waiting call heading
hgs
parents:
diff changeset
   116
    verify { @testapp.BubbleHeadingWidget(:objectName => 'eb:bubbleHeading',
hgs
parents:
diff changeset
   117
                                          :textLine1 => '+35840987654321',
hgs
parents:
diff changeset
   118
                                          :textLine2 => 'waiting' ) }
hgs
parents:
diff changeset
   119
                                          
hgs
parents:
diff changeset
   120
    # check image
hgs
parents:
diff changeset
   121
    verify { @testapp.BubbleImageWidget(:objectName => 'eb:callImage', 
hgs
parents:
diff changeset
   122
                                        :imageName => 'qtg_large_avatar' ) }
hgs
parents:
diff changeset
   123
                                        
hgs
parents:
diff changeset
   124
                                        
hgs
parents:
diff changeset
   125
    # answer the call
hgs
parents:
diff changeset
   126
    @testapp.BubbleButton(:objectName => 'eb:leftButton').tap
hgs
parents:
diff changeset
   127
    
hgs
parents:
diff changeset
   128
    # check held call heading
hgs
parents:
diff changeset
   129
    verify { @testapp.BubbleHeadingWidget(:objectName => 'cb:bubbleHeading',
hgs
parents:
diff changeset
   130
                                          :textLine1 => '+35850123456789',
hgs
parents:
diff changeset
   131
                                          :textLine2 => 'on hold' ) }     
hgs
parents:
diff changeset
   132
    
hgs
parents:
diff changeset
   133
    # check active call heading
hgs
parents:
diff changeset
   134
    verify { @testapp.BubbleHeadingWidget(:objectName => 'eb:bubbleHeading',
hgs
parents:
diff changeset
   135
                                          :textLine1 => '+35840987654321',
hgs
parents:
diff changeset
   136
                                          :textLine2 => '' ) }                                            
hgs
parents:
diff changeset
   137
    
hgs
parents:
diff changeset
   138
  end  
hgs
parents:
diff changeset
   139
  
hgs
parents:
diff changeset
   140
  def test_conference_call
hgs
parents:
diff changeset
   141
    
hgs
parents:
diff changeset
   142
    # create conference call
hgs
parents:
diff changeset
   143
    @testapp.BubbleTestView.press_key(:kT)
hgs
parents:
diff changeset
   144
    @testapp.BubbleTestView.press_key(:k1)
hgs
parents:
diff changeset
   145
    @testapp.BubbleTestView.press_key(:k3)
hgs
parents:
diff changeset
   146
    @testapp.BubbleTestView.press_key(:k1)
hgs
parents:
diff changeset
   147
    @testapp.BubbleTestView.press_key(:k3)
hgs
parents:
diff changeset
   148
    @testapp.BubbleTestView.press_key(:k7) # join
hgs
parents:
diff changeset
   149
    
hgs
parents:
diff changeset
   150
    verify( 5, "Active bubble shown" ) { @testapp.BubbleContainerWidget(:objectName => 'expandedBubble' )}
hgs
parents:
diff changeset
   151
    verify { @testapp.BubbleHeadingWidget(:objectName => 'eb:bubbleHeading',
hgs
parents:
diff changeset
   152
                                          :textLine1 => 'Conference call',
hgs
parents:
diff changeset
   153
                                          :textLine2 => '00:00:00' ) }    
hgs
parents:
diff changeset
   154
                                          
hgs
parents:
diff changeset
   155
    # check that calls are present in participant list
hgs
parents:
diff changeset
   156
    verify { @testapp.HbGroupBox(:heading => '+35850123456789' ) }
hgs
parents:
diff changeset
   157
    verify { @testapp.HbGroupBox(:heading => '+35840987654321' ) }
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
    # reject the call
hgs
parents:
diff changeset
   160
    @testapp.BubbleButton(:objectName => 'eb:rightButton').tap    
hgs
parents:
diff changeset
   161
    verify_not { @testapp.BubbleContainerWidget(:objectName => 'expandedBubble')}
hgs
parents:
diff changeset
   162
                                                
hgs
parents:
diff changeset
   163
  end
hgs
parents:
diff changeset
   164
  
hgs
parents:
diff changeset
   165
end