1/* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15import featureAbility from '@ohos.ability.featureAbility' 16import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' 17 18let resultCode = 123; 19let bundleName = 'ohso.act.aafwk'; 20let mainAbilityName = 'ohos.acts.aafwk.jsap'; 21const errCode = 1; 22const errCode1 = 202; 23 24export default function startAbilityTest() { 25describe('StartAbilityTest', function () { 26 27 afterEach(async function(done) { 28 let wantInfo = { 29 want: { 30 bundleName: "com.example.actsfeatureabilitytest", 31 abilityName: "com.example.actsfeatureabilitytest.TestAbility" 32 } 33 } 34 await featureAbility.startAbility(wantInfo).then((data) => { 35 console.log("SUB_AA_JsApi_StartAbility startAbility data : " + JSON.stringify(data)); 36 }).catch((err) => { 37 console.log("SUB_AA_JsApi_StartAbility startAbility err : " + JSON.stringify(err)); 38 }) 39 setTimeout(function () { 40 console.log("SUB_AA_JsApi_StartAbility afterEach end"); 41 done(); 42 }, 500); 43 }) 44 45 /* 46 * @tc.number: SUB_AA_JsApi_StartAbility_0100 47 * @tc.name: testAbility0100. 48 * @tc.desc: StartAbility fail with want nothing.(by promise) 49 */ 50 it("SUB_AA_JsApi_StartAbility_0100", 0, async function (done) { 51 let parameter = { 52 'want': {} 53 } 54 await featureAbility.startAbility(parameter).then((data) => { 55 console.log('testAbility0100 data: ' + JSON.stringify(data)) 56 expect().assertFail() 57 }).catch((error) => { 58 console.log('testAbility0100 error: ' + JSON.stringify(error)) 59 expect(errCode).assertEqual(error.code) 60 }) 61 done() 62 }) 63 64 /* 65 * @tc.number: SUB_AA_JsApi_Ability_0200 66 * @tc.name: testAblity0200. 67 * @tc.desc: StartAbility fail with want nothing.(by callback) 68 */ 69 it("SUB_AA_JsApi_Ability_0200", 0, async function (done) { 70 let parameter = { 71 'want': {} 72 } 73 featureAbility.startAbility(parameter, (error, data) => { 74 console.log('testAbility0200 data: ' + JSON.stringify(data)) 75 console.log('testAbility0200 error: ' + JSON.stringify(error)) 76 expect(errCode).assertEqual(error.code) 77 done(); 78 }) 79 }) 80 81 /* 82 * @tc.number: SUB_AA_JsApi_StartAbility_0300 83 * @tc.name: testAbility0300. 84 * @tc.desc: StartAbility fail with error parameter.(by promise) 85 */ 86 it("SUB_AA_JsApi_StartAbility_0300", 0, async function (done) { 87 let startAbilityParameter = { 88 'want': {} 89 } 90 await featureAbility.startAbility(startAbilityParameter).then((data) => { 91 console.log('testAbility0300 data: ' + JSON.stringify(data)) 92 expect().assertFail() 93 }).catch((error) => { 94 console.log('testAbility0300 error: ' + JSON.stringify(error)) 95 expect(errCode).assertEqual(error.code) 96 }) 97 done() 98 }) 99 100 /* 101 * @tc.number: SUB_AA_JsApi_StartAbility_0400 102 * @tc.name: testAbility0400. 103 * @tc.desc: StartAbility fail with error parameter.(by callback) 104 */ 105 it("SUB_AA_JsApi_StartAbility_0400", 0, async function (done) { 106 let startAbilityParameter = { 107 'want': {} 108 } 109 featureAbility.startAbility((startAbilityParameter), (error, data) => { 110 console.log('testAbility0400 data: ' + JSON.stringify(data)) 111 console.log('testAbility0400 error: ' + JSON.stringify(error)) 112 expect(errCode).assertEqual(error.code) 113 done() 114 }) 115 }) 116 117 /* 118 * @tc.number: SUB_AA_JsApi_Ability_0500 119 * @tc.name: testAblity0500. 120 * @tc.desc: startAbility-want configure action+entities- there is no Ability corresponding to entities.(by promise) 121 */ 122 it("SUB_AA_JsApi_Ability_0500", 0, async function (done) { 123 let parameter = { 124 'want': { 125 'action': 'action.ohos.acts.aafwk.jsapi.MainAbility', 126 'entities': [ 127 'entity.com.example.mytestw.ENITIES22' 128 ] 129 } 130 } 131 await featureAbility.startAbility(parameter).then((data) => { 132 console.log('testAblity0500 data: ' + JSON.stringify(data)) 133 expect().assertFail() 134 }).catch((error) => { 135 console.log('testAblity0500 error: ' + JSON.stringify(error)) 136 expect(errCode).assertEqual(error.code) 137 }) 138 done() 139 }) 140 141 /* 142 * @tc.number: SUB_AA_JsApi_Ability_0600 143 * @tc.name: testAblity0600. 144 * @tc.desc: startAbility-want configure action+entities- there is no Ability corresponding to entities.(by callback) 145 */ 146 it("SUB_AA_JsApi_Ability_0600", 0, async function (done) { 147 let parameter = { 148 'want': { 149 'action': 'action.ohos.acts.aafwk.jsapi.MainAbility', 150 'entities': [ 151 'entity.com.example.mytestw.ENITIES22' 152 ] 153 } 154 } 155 featureAbility.startAbility((parameter), (error, data) => { 156 console.log('testAbility0600 data: ' + JSON.stringify(data)) 157 console.log('testAbility0600 error: ' + JSON.stringify(error)) 158 expect(errCode).assertEqual(error.code) 159 done() 160 }) 161 }) 162 163 /* 164 * @tc.number: SUB_AA_JsApi_Ability_0900 165 * @tc.name: testAblity0900. 166 * @tc.desc: startAbility-want configure action+entities- entities is configurd as a string.(by promise) 167 */ 168 it("SUB_AA_JsApi_Ability_0900", 0, async function (done) { 169 let startAbilityParameter = { 170 'want': { 171 'bundleName': bundleName, 172 'abilityName': mainAbilityName 173 } 174 } 175 await featureAbility.startAbility(startAbilityParameter).then((data) => { 176 console.log('testAblity0900 data: ' + JSON.stringify(data)) 177 expect().assertFail() 178 }).catch((error) => { 179 console.log('testAblity0900 error: ' + JSON.stringify(error)) 180 expect(errCode).assertEqual(error.code) 181 }) 182 done() 183 }) 184 185 /* 186 * @tc.number: SUB_AA_JsApi_Ability_1000 187 * @tc.name: testAblity1000. 188 * @tc.desc: startAbility-want configure action+entities- entities is configurd as a string.(by callback) 189 */ 190 it("SUB_AA_JsApi_Ability_1000", 0, async function (done) { 191 let startAbilityParameter = { 192 'want': { 193 'bundleName': bundleName, 194 'abilityName': mainAbilityName 195 } 196 } 197 featureAbility.startAbility((startAbilityParameter), (error, data) => { 198 console.log('testAblity1000 data: ' + JSON.stringify(data)) 199 console.log('testAblity1000 error: ' + JSON.stringify(error)) 200 expect(errCode).assertEqual(error.code) 201 done() 202 }) 203 }) 204 205 /* 206 * @tc.number: SUB_AA_JsApi_Ability_1100 207 * @tc.name: testAblity1100. 208 * @tc.desc: startAbility: The input parameter want is not configured (the value is {}).(by promise) 209 */ 210 it("SUB_AA_JsApi_Ability_1100", 0, async function (done) { 211 let parameter = {} 212 await featureAbility.startAbility(parameter).then((data) => { 213 console.log('testAblity1100 data: ' + JSON.stringify(data)) 214 expect().assertFail() 215 }).catch((error) => { 216 console.log('testAblity1100 error: ' + JSON.stringify(error)) 217 expect(errCode1).assertEqual(error.code) 218 }) 219 done() 220 }) 221 222 /* 223 * @tc.number: SUB_AA_JsApi_Ability_1200 224 * @tc.name: testAblity1200. 225 * @tc.desc: startAbility: The input parameter want is not configured (the value is {}).(by callback) 226 */ 227 it("SUB_AA_JsApi_Ability_1200", 0, async function (done) { 228 let parameter = {} 229 featureAbility.startAbility(parameter, (error, data) => { 230 console.log('testAblity1200 data: ' + JSON.stringify(data)) 231 console.log('testAblity1200 error: ' + JSON.stringify(error)) 232 expect(errCode1).assertEqual(error.code) 233 done(); 234 }) 235 }) 236 237 /* 238 * @tc.number: SUB_AA_JsApi_Ability_1300 239 * @tc.name: testAblity1300. 240 * @tc.desc: startAbility: The input parameter is uddefined.(by promise) 241 */ 242 it("SUB_AA_JsApi_Ability_1300", 0, async function (done) { 243 await featureAbility.startAbility(undefined).then((data) => { 244 console.log('testAblity1300 data: ' + JSON.stringify(data)) 245 expect().assertFail() 246 }).catch((error) => { 247 console.log('testAblity1300 error: ' + JSON.stringify(error)) 248 expect(errCode1).assertEqual(error.code) 249 }) 250 done() 251 }) 252 253 /* 254 * @tc.number: SUB_AA_JsApi_Ability_1400 255 * @tc.name: testAblity1400. 256 * @tc.desc: startAbility: The input parameter is uddefined.(by callback) 257 */ 258 it("SUB_AA_JsApi_Ability_1400", 0, async function (done) { 259 featureAbility.startAbility(undefined, (error, data) => { 260 console.log('testAblity1400 data: ' + JSON.stringify(data)) 261 console.log('testAblity1400 error: ' + JSON.stringify(error)) 262 expect(errCode1).assertEqual(error.code) 263 done(); 264 }) 265 }) 266 267 /* 268 * @tc.number: SUB_AA_JsApi_Ability_1500 269 * @tc.name: testAblity1500. 270 * @tc.desc: startAbilityForResult: The input parameter want is not configured (the value is {}).(by promise) 271 */ 272 it("SUB_AA_JsApi_Ability_1500", 0, async function (done) { 273 let parameter = {} 274 await featureAbility.startAbilityForResult(parameter).then((data) => { 275 console.log('testAblity1500 data: ' + JSON.stringify(data)) 276 expect.assertFail() 277 }).catch((error) => { 278 console.log('testAblity1500' + JSON.stringify(error)); 279 expect(errCode1).assertEqual(error.code) 280 }) 281 done() 282 }) 283 284 /* 285 * @tc.number: SUB_AA_JsApi_Ability_1600 286 * @tc.name: testAblity1600. 287 * @tc.desc: startAbilityForResult: The input parameter want is not configured (the value is {}).(by callback) 288 */ 289 it("SUB_AA_JsApi_Ability_1600", 0, async function (done) { 290 let parameter = {} 291 featureAbility.startAbilityForResult(parameter, (error, data) => { 292 console.log('testAblity1600 data: ' + JSON.stringify(data)) 293 console.log('testAblity1600 error: ' + JSON.stringify(error)) 294 expect(errCode1).assertEqual(error.code) 295 console.log('testAblity1600-1 error: ' + JSON.stringify(error)) 296 done(); 297 }) 298 }) 299 300 /* 301 * @tc.number: SUB_AA_JsApi_Ability_1700 302 * @tc.name: testAblity1700. 303 * @tc.desc: startAbilityForResult: The input parameter optParam is undefined.(by promise) 304 */ 305 it("SUB_AA_JsApi_Ability_1700", 0, async function (done) { 306 await featureAbility.startAbilityForResult(undefined).then((data) => { 307 console.log('testAblity1700 data: ' + JSON.stringify(data)) 308 expect.assertFail() 309 }).catch((error) => { 310 console.log('testAblity1700' + JSON.stringify(error)); 311 expect(errCode1).assertEqual(error.code) 312 }) 313 done() 314 }) 315 316 /* 317 * @tc.number: SUB_AA_JsApi_Ability_1800 318 * @tc.name: testAblity1800. 319 * @tc.desc: startAbilityForResult: The input parameter optParam is undefined.(by callback) 320 */ 321 it("SUB_AA_JsApi_Ability_1800", 0, async function (done) { 322 featureAbility.startAbilityForResult(undefined, (error) => { 323 console.log('testAblity1800' + JSON.stringify(error)); 324 expect(errCode1).assertEqual(error.code) 325 done() 326 }) 327 }) 328 329 /* 330 * @tc.number: SUB_AA_JsApi_Ability_1900 331 * @tc.name: testAblity1900. 332 * @tc.desc: startAbilityForResult-wrong input parameter format want a layer outside.(by promise) 333 */ 334 it("SUB_AA_JsApi_Ability_1900", 0, async function (done) { 335 let startAbilityParameter = { 336 'want': { 337 'bundleName': bundleName, 338 'abilityName': mainAbilityName, 339 'parameters': { 340 'key': resultCode, 341 'terminate': true 342 } 343 } 344 } 345 await featureAbility.startAbilityForResult(startAbilityParameter).then((data) => { 346 console.log('testAblity1900 data: ' + JSON.stringify(data)) 347 expect.assertFail() 348 }).catch((error) => { 349 console.log('testAblity1900 err:' + JSON.stringify(error)); 350 expect(errCode).assertEqual(error.code) 351 }) 352 done() 353 }) 354 355 /* 356 * @tc.number: SUB_AA_JsApi_Ability_2000 357 * @tc.name: testAblity2000. 358 * @tc.desc: startAbilityForResult-wrong input parameter format want a layer outside.(by callback) 359 */ 360 it("SUB_AA_JsApi_Ability_2000", 0, async function (done) { 361 let startAbilityParameter = { 362 'want': { 363 'bundleName': bundleName, 364 'abilityName': mainAbilityName, 365 'parameters': { 366 'key': resultCode, 367 'terminate': true 368 } 369 } 370 } 371 featureAbility.startAbilityForResult(startAbilityParameter, (error, data) => { 372 console.log('testAblity2000' + JSON.stringify(error)); 373 expect(errCode).assertEqual(error.code) 374 done() 375 }) 376 }) 377 378 /* 379 * @tc.number: SUB_AA_JsApi_Ability_2100 380 * @tc.name: testAblity2100. 381 * @tc.desc: startAbilityForResult-want-Set bundleName and abilityName+flag-flag to character strings.(by promise) 382 */ 383 it("SUB_AA_JsApi_Ability_2100", 0, async function (done) { 384 let parameter = { 385 'want': { 386 'bundleName': bundleName, 387 'abilityName': mainAbilityName, 388 'flages': 'abc', 389 'parameters': { 390 'key': resultCode, 391 'terminate': true 392 } 393 } 394 } 395 await featureAbility.startAbilityForResult(parameter).then((data) => { 396 console.log('testAblity2100 data: ' + JSON.stringify(data)) 397 expect.assertFail() 398 }).catch((error) => { 399 console.log('testAblity2100' + JSON.stringify(error)); 400 expect(errCode).assertEqual(error.code) 401 }) 402 done() 403 }) 404 405 /* 406 * @tc.number: SUB_AA_JsApi_Ability_2200 407 * @tc.name: testAblity2200. 408 * @tc.desc: startAbilityForResult-want-Set bundleName and abilityName+flag-flag to character strings.(by callback) 409 */ 410 it("SUB_AA_JsApi_Ability_2200", 0, async function (done) { 411 let parameter = { 412 'want': { 413 'bundleName': bundleName, 414 'abilityName': mainAbilityName, 415 'flages': 'abc', 416 'parameters': { 417 'key': resultCode, 418 'terminate': true 419 } 420 } 421 } 422 featureAbility.startAbilityForResult(parameter, (error, data) => { 423 console.log('testAblity2200' + JSON.stringify(error)); 424 expect(errCode).assertEqual(error.code) 425 done() 426 }) 427 }) 428}) 429} 430