• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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