@@ -71,18 +71,20 @@ describe('Contacts Android', function () {
71
71
} ) ;
72
72
}
73
73
74
- function addContact ( firstName , lastName ) {
74
+ function addContact ( firstName , lastName , bday ) {
75
+ var bdayString = bday ? bday . toDateString ( ) : undefined ;
75
76
var contactName = contactsHelper . getContactName ( firstName , lastName ) ;
76
77
return driver
77
78
. context ( webviewContext )
78
79
. setAsyncScriptTimeout ( MINUTE )
79
- . executeAsync ( function ( contactname , callback ) {
80
+ . executeAsync ( function ( contactname , bday , callback ) {
80
81
navigator . contacts . create ( {
81
82
'displayName' : contactname . formatted ,
82
83
'name' : contactname ,
83
- 'note' : 'DeleteMe'
84
+ 'note' : 'DeleteMe' ,
85
+ 'birthday' : new Date ( bday )
84
86
} ) . save ( callback , callback ) ;
85
- } , [ contactName ] )
87
+ } , [ contactName , bdayString ] )
86
88
. then ( function ( result ) {
87
89
if ( result && result . hasOwnProperty ( 'code' ) ) {
88
90
throw result ;
@@ -107,16 +109,18 @@ describe('Contacts Android', function () {
107
109
. then ( function ( ) {
108
110
switch ( PLATFORM ) {
109
111
case 'ios' :
110
- return driver . waitForElementByXPath ( UNORM . nfd ( '//UIAStaticText[@label="' + name + '"]' ) , MINUTE ) ;
112
+ return wdHelper . tapElementByXPath ( UNORM . nfd ( '//UIAStaticText[@label="' + name + '"]' ) , driver ) ;
111
113
case 'android' :
112
- return driver . waitForElementByXPath ( '//android.widget.TextView[@text="' + name + '"]' , MINUTE ) ;
114
+ return driver . waitForElementByXPath ( '//android.widget.TextView[@text="' + name + '"]' , MINUTE ) . click ( ) ;
113
115
}
114
116
} )
115
- . click ( )
116
117
. context ( webviewContext )
117
118
. executeAsync ( function ( pID , cb ) {
118
119
navigator . _appiumPromises [ pID ] . promise
119
120
. then ( function ( contact ) {
121
+ // for some reason Appium cannot get Date object
122
+ // let's make birthday a string then
123
+ contact . birthday = contact . birthday . toDateString ( ) ;
120
124
cb ( contact ) ;
121
125
} , function ( err ) {
122
126
cb ( 'ERROR: ' + err ) ;
@@ -133,7 +137,7 @@ describe('Contacts Android', function () {
133
137
function renameContact ( oldName , newGivenName , newFamilyName ) {
134
138
return driver
135
139
. context ( webviewContext )
136
- . setAsyncScriptTimeout ( 4 * MINUTE )
140
+ . setAsyncScriptTimeout ( 7 * MINUTE )
137
141
. executeAsync ( function ( oldname , newgivenname , newfamilyname , callback ) {
138
142
var obj = new ContactFindOptions ( ) ;
139
143
obj . filter = oldname ;
@@ -227,16 +231,18 @@ describe('Contacts Android', function () {
227
231
} , MINUTE ) ;
228
232
229
233
it ( 'contacts.ui.spec.1 Pick a contact' , function ( done ) {
234
+ var bday = new Date ( 1991 , 1 , 1 ) ;
230
235
driver
231
236
. then ( function ( ) {
232
- return addContact ( 'Test' , 'Contact' ) ;
237
+ return addContact ( 'Test' , 'Contact' , bday ) ;
233
238
} )
234
239
. then ( function ( ) {
235
240
return pickContact ( 'Test Contact' ) ;
236
241
} )
237
242
. then ( function ( contact ) {
238
243
expect ( contact . name . givenName ) . toBe ( 'Test' ) ;
239
244
expect ( contact . name . familyName ) . toBe ( 'Contact' ) ;
245
+ expect ( contact . birthday ) . toBe ( bday . toDateString ( ) ) ;
240
246
} )
241
247
. fail ( saveScreenshotAndFail )
242
248
. done ( done ) ;
@@ -263,7 +269,7 @@ describe('Contacts Android', function () {
263
269
} )
264
270
. fail ( saveScreenshotAndFail )
265
271
. done ( done ) ;
266
- } , 6 * MINUTE ) ;
272
+ } , 10 * MINUTE ) ;
267
273
268
274
it ( 'contacts.ui.spec.3 Create a contact with no name' , function ( done ) {
269
275
driver
0 commit comments