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