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
20describe('SystemDateTimeTest', 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        systemDateTime.setTime(nowTime).then(() => {
35            expect(false).assertTrue();
36            done();
37        }).catch((err) => {
38            expect(err.code).assertEqual(202);
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        systemDateTime.setTime(nowTime, (err) => {
57            if (err) {
58                expect(err.code).assertEqual(202);
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        systemDateTime.setTimezone(timezone).then(() => {
80            expect(false).assertTrue();
81            done();
82        }).catch((err) => {
83            expect(err.code).assertEqual(202);
84            done();
85        })
86        console.log('testSetTimezoneNoPermission001 end');
87    })
88
89    /**
90     * @tc.number: TestSetTimezoneNoPermission002
91     * @tc.name: TestSetTimezoneNoPermission002
92     * @tc.desc: Test setTimezone 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        systemDateTime.setTimezone(timezone, (err) => {
102            if (err) {
103                expect(err.code).assertEqual(202);
104            } else {
105                expect(false).assertTrue();
106            }
107            done();
108        })
109        console.log('testSetTimezoneNoPermission002 end');
110    })
111
112    /**
113     * @tc.number: TestUpdateNtpTimeNoPermission001
114     * @tc.name: TestUpdateNtpTimeNoPermission001
115     * @tc.desc: Test UpdateNtpTime no permission for promise
116     * @tc.size: MediumTest
117     * @tc.type: Function
118     * @tc.level: Level 1
119     * @tc.require:
120     */
121    it('TestUpdateNtpTimeNoPermission001', 0, async function (done) {
122        console.log("TestUpdateNtpTimeNoPermission001 start");
123        const timezone = "Antarctica/McMurdo";
124        systemDateTime.updateNtpTime().then(() => {
125            expect(false).assertTrue();
126            done();
127        }).catch((err) => {
128            expect(err.code).assertEqual(202);
129            done();
130        })
131        console.log('TestUpdateNtpTimeNoPermission001 end');
132    })
133
134    /**
135     * @tc.number:TestgetNtpTimeNoPermission001
136     * @tc.name: TestgetNtpTimeNoPermission001
137     * @tc.desc: Test getNtpTime no permission
138     * @tc.size: MediumTest
139     * @tc.type: Function
140     * @tc.level: Level 1
141     * @tc.require:
142     */
143    it('TestgetNtpTimeNoPermission001', 0, async function (done) {
144        console.log("TestgetNtpTimeNoPermission001 start");
145        const timezone = "Antarctica/McMurdo";
146        try{
147            systemDateTime.getNtpTime();
148        }catch(err){
149            expect(err.code).assertEqual(202);
150            done();
151        }
152        console.log('TestgetNtpTimeNoPermission001 end');
153    })
154
155})