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 systemTime from '@ohos.systemTime'
19
20describe('SystemTimeTest', function () {
21
22    /**
23     * @tc.number: TestSetTimeNoPermission001
24     * @tc.name: TestSetTimeNoPermission001
25     * @tc.desc: Test setTime no permission for promise
26     * @tc.size: MediumTest
27     * @tc.type: Function
28     * @tc.level: Level 1
29     * @tc.require:
30     */
31    it('testSetTimeNoPermission001', 0, async function (done) {
32        console.log("testSetTimeNoPermission001 start");
33        const nowTime = new Date().getTime();
34        systemTime.setTime(nowTime).then(() => {
35            expect(false).assertTrue();
36            done();
37        }).catch((err) => {
38            expect(err.code).assertEqual(-1);
39            done();
40        })
41        console.log('testSetTimeNoPermission001 end');
42    })
43
44    /**
45     * @tc.number: TestSetTimeNoPermission002
46     * @tc.name: TestSetTimeNoPermission002
47     * @tc.desc: Test setTime no permission for callback
48     * @tc.size: MediumTest
49     * @tc.type: Function
50     * @tc.level: Level 1
51     * @tc.require:
52     */
53    it('testSetTimeNoPermission002', 0, async function (done) {
54        console.log("testSetTimeNoPermission002 start");
55        const nowTime = new Date().getTime();
56        systemTime.setTime(nowTime, (err) => {
57            if (err) {
58                expect(err.code).assertEqual(-1);
59            } else {
60                expect(false).assertTrue();
61            }
62            done();
63        })
64        console.log('testSetTimeNoPermission002 end');
65    })
66
67    /**
68     * @tc.number: TestSetTimezoneNoPermission001
69     * @tc.name: TestSetTimezoneNoPermission001
70     * @tc.desc: Test setTimezone no permission for promise
71     * @tc.size: MediumTest
72     * @tc.type: Function
73     * @tc.level: Level 1
74     * @tc.require:
75     */
76    it('testSetTimezoneNoPermission001', 0, async function (done) {
77        console.log("testSetTimezoneNoPermission001 start");
78        const timezone = "Antarctica/McMurdo";
79        systemTime.setTimezone(timezone).then(() => {
80            expect(false).assertTrue();
81            done();
82        }).catch((err) => {
83            expect(err.code).assertEqual(-1);
84            done();
85        })
86        console.log('testSetTimezoneNoPermission001 end');
87    })
88
89    /**
90     * @tc.number: TestSetTimezoneNoPermission002
91     * @tc.name: TestSetTimezoneNoPermission002
92     * @tc.desc: Test setTime no permission for callback
93     * @tc.size: MediumTest
94     * @tc.type: Function
95     * @tc.level: Level 1
96     * @tc.require:
97     */
98    it('testSetTimezoneNoPermission002', 0, async function (done) {
99        console.log("testSetTimezoneNoPermission002 start");
100        const timezone = "Antarctica/McMurdo";
101        systemTime.setTimezone(timezone, (err) => {
102            if (err) {
103                expect(err.code).assertEqual(-1);
104            } else {
105                expect(false).assertTrue();
106            }
107            done();
108        })
109        console.log('testSetTimezoneNoPermission002 end');
110    })
111})