1/*
2 * Copyright (C) 2023 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 */
15
16// @ts-nocheck
17import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
18import systemTimer from '@ohos.systemTimer'
19
20describe('SystemTimerTest', function () {
21
22    /**
23     * @tc.number: TestCreateTimerNoPermission001
24     * @tc.name: TestCreateTimerNoPermission001
25     * @tc.desc: Test createTimer no permission for promise
26     * @tc.size: MediumTest
27     * @tc.type: Function
28     * @tc.level: Level 1
29     * @tc.require:
30     */
31    it('testCreateTimerNoPermission001', 0, async function (done) {
32        console.log("testCreateTimerNoPermission001 start")
33        let options = {
34            type: systemTimer.TIMER_TYPE_REALTIME,
35            repeat: false,
36        }
37        systemTimer.createTimer(options).then(() => {
38            expect(false).assertTrue();
39            done();
40        }).catch((err) => {
41            expect(true).assertTrue();
42            done();
43        })
44        console.log('testCreateTimerNoPermission001 end');
45    });
46
47    /**
48     * @tc.number: TestCreateTimerNoPermission002
49     * @tc.name: TestCreateTimerNoPermission002
50     * @tc.desc: Test setTime no permission for callback
51     * @tc.size: MediumTest
52     * @tc.type: Function
53     * @tc.level: Level 1
54     * @tc.require:
55     */
56    it('testCreateTimerNoPermission002', 0, async function (done) {
57        console.log("testCreateTimerNoPermission002 start")
58        let options = {
59            type: systemTimer.TIMER_TYPE_REALTIME,
60            repeat: false,
61        }
62        systemTimer.createTimer(options, (err) => {
63            if (err) {
64                expect(true).assertTrue();
65            } else {
66                expect(false).assertTrue();
67            }
68            done();
69        })
70        console.log('testCreateTimerNoPermission002 end');
71    });
72
73    /**
74     * @tc.number: TestStartTimerNoPermission001
75     * @tc.name: TestStartTimerNoPermission001
76     * @tc.desc: Test startTimer no permission for promise
77     * @tc.size: MediumTest
78     * @tc.type: Function
79     * @tc.level: Level 1
80     * @tc.require:
81     */
82    it('testStartTimerNoPermission001', 0, async function (done) {
83        console.log("testStartTimerNoPermission001 start")
84        systemTimer.startTimer(123456, 123456, (err) => {
85            if (err) {
86                expect(err.code).assertEqual(202);
87            } else {
88                expect(false).assertTrue();
89            }
90            done();
91        });
92        console.log('testStartTimerNoPermission001 end');
93    });
94
95    /**
96     * @tc.number: TestStartTimerNoPermission002
97     * @tc.name: TestStartTimerNoPermission002
98     * @tc.desc: Test startTimer no permission for callback
99     * @tc.size: MediumTest
100     * @tc.type: Function
101     * @tc.level: Level 1
102     * @tc.require:
103     */
104    it('testStartTimerNoPermission002', 0, async function (done) {
105        console.log("testStartTimerNoPermission002 start")
106        systemTimer.startTimer(123456, 123456).then(() => {
107            expect(err.code).assertTrue();
108            done();
109        }).catch((err) => {
110            expect(err.code).assertEqual(202);
111            done();
112        })
113        console.log('testStartTimerNoPermission002 end');
114    });
115
116    /**
117     * @tc.number: TestDestroyTimerNoPermission001
118     * @tc.name: TestDestroyTimerNoPermission001
119     * @tc.desc: Test destroyTimer no permission for promise
120     * @tc.size: MediumTest
121     * @tc.type: Function
122     * @tc.level: Level 1
123     * @tc.require:
124     */
125    it('testDestroyTimerNoPermission001', 0, async function (done) {
126        console.log("testDestroyTimerNoPermission001 start");
127        systemTimer.destroyTimer(123456, (err) => {
128            if (err) {
129                expect(err.code).assertEqual(202);
130            } else {
131                expect(false).assertTrue();
132            }
133            done();
134        });
135        console.log('testDestroyTimerNoPermission001 end');
136    });
137
138    /**
139     * @tc.number: TestDestroyTimerNoPermission002
140     * @tc.name: TestDestroyTimerNoPermission002
141     * @tc.desc: Test destroyTimer no permission for callback
142     * @tc.size: MediumTest
143     * @tc.type: Function
144     * @tc.level: Level 1
145     * @tc.require:
146     */
147    it('testDestroyTimerNoPermission002', 0, async function (done) {
148        console.log("testDestroyTimerNoPermission002 start");
149        systemTimer.destroyTimer(123456).then(() => {
150            expect(false).assertTrue();
151            done();
152        }).catch((err) => {
153            expect(err.code).assertEqual(202);
154            done();
155        })
156        console.log("testDestroyTimerNoPermission002 end");
157    });
158
159    /**
160     * @tc.number: TestStopTimerNoPermission001
161     * @tc.name: TestStopTimerNoPermission001
162     * @tc.desc: Test stopTimer no permission for promise
163     * @tc.size: MediumTest
164     * @tc.type: Function
165     * @tc.level: Level 1
166     * @tc.require:
167     */
168    it('testStopTimerNoPermission001', 0, async function (done) {
169        systemTimer.stopTimer(123456).then(() => {
170            expect(false).assertTrue();
171            done();
172        }).catch((err) => {
173            expect(err.code).assertEqual(202);
174            done();
175        })
176    });
177
178    /**
179     * @tc.number: TestStopTimerNoPermission002
180     * @tc.name: TestStopTimerNoPermission002
181     * @tc.desc: Test stopTimer no permission for callback
182     * @tc.size: MediumTest
183     * @tc.type: Function
184     * @tc.level: Level 1
185     * @tc.require:
186     */
187    it('testStopTimerNoPermission002', 0, async function (done) {
188        systemTimer.stopTimer(123456, function (err) {
189            if (err) {
190                expect(err.code).assertEqual(202);
191            } else {
192                expect(false).assertTrue();
193            }
194            done();
195        });
196    });
197})