• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2022 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
16import { paramMock } from "../utils"
17
18export function mockSMS() {
19  const SimShortMessage = {
20    shortMessage: "[PC Preview] unknow shortMessage",
21    simMessageStatus: "[PC Preview] unknow simMessageStatus",
22    indexOnSim: "[PC Preview] unknow indexOnSim"
23  }
24  const ShortMessage = {
25    visibleMessageBody: "[PC Preview] unknow visibleMessageBody",
26    visibleRawAddress: "[PC Preview] unknow visibleRawAddress",
27    messageClass: "[PC Preview] unknow messageClass",
28    protocolId: "[PC Preview] unknow protocolId",
29    scAddress: "[PC Preview] unknow scAddress",
30    scTimestamp: "[PC Preview] unknow scTimestamp",
31    isReplaceMessage: "[PC Preview] unknow isReplaceMessage",
32    hasReplyPath: "[PC Preview] unknow hasReplyPath",
33    pdu: ["[PC Preview] unknow pdu"],
34    status: "[PC Preview] unknow status",
35    isSmsStatusReportMessage: "[PC Preview] unknow isSmsStatusReportMessage",
36    emailAddress: "[PC Preview] unknow emailAddress",
37    emailMessageBody: "[PC Preview] unknow emailMessageBody",
38    userRawData: ["[PC Preview] unknow userRawData"],
39    isEmailMessage: "[PC Preview] unknow isEmailMessage",
40  }
41  const sms = {
42    splitMessage: function (...args) {
43      console.warn("telephony.sms.splitMessage interface mocked in the Previewer. How this interface works on the Previewer may" +
44        " be different from that on a real device.")
45      const len = args.length
46      if (typeof args[len - 1] === 'function') {
47        args[len - 1].call(this, paramMock.businessErrorMock, [paramMock.paramStringMock]);
48      } else {
49        return new Promise((resolve, reject) => {
50          resolve([paramMock.paramStringMock]);
51        })
52      }
53    },
54    createMessage: function (...args) {
55      console.warn("telephony.sms.createMessage interface mocked in the Previewer. How this interface works on the Previewer may" +
56        " be different from that on a real device.")
57      const len = args.length
58      if (typeof args[len - 1] === 'function') {
59        args[len - 1].call(this, paramMock.businessErrorMock, ShortMessage);
60      } else {
61        return new Promise((resolve, reject) => {
62          resolve(ShortMessage);
63        })
64      }
65    },
66    sendMessage: function (...args) {
67      console.warn("telephony.sms.sendMessage interface mocked in the Previewer. How this interface works on the Previewer may" +
68        " be different from that on a real device.")
69    },
70    setDefaultSmsSlotId: function (...args) {
71      console.warn("telephony.sms.setDefaultSmsSlotId interface mocked in the Previewer. How this interface works on the Previewer may" +
72        " be different from that on a real device.")
73      const len = args.length
74      if (typeof args[len - 1] === 'function') {
75        args[len - 1].call(this, paramMock.businessErrorMock);
76      } else {
77        return new Promise((resolve, reject) => {
78          resolve();
79        })
80      }
81    },
82    getDefaultSmsSlotId: function (...args) {
83      console.warn("telephony.sms.getDefaultSmsSlotId interface mocked in the Previewer. How this interface works on the Previewer may" +
84        " be different from that on a real device.")
85      const len = args.length
86      if (typeof args[len - 1] === 'function') {
87        args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock);
88      } else {
89        return new Promise((resolve, reject) => {
90          resolve(paramMock.paramNumberMock);
91        })
92      }
93    },
94    setSmscAddr: function (...args) {
95      console.warn("telephony.sms.setSmscAddr interface mocked in the Previewer. How this interface works on the Previewer may" +
96        " be different from that on a real device.")
97      const len = args.length
98      if (typeof args[len - 1] === 'function') {
99        args[len - 1].call(this, paramMock.businessErrorMock);
100      } else {
101        return new Promise((resolve, reject) => {
102          resolve();
103        })
104      }
105    },
106    getSmscAddr: function (...args) {
107      console.warn("telephony.sms.getSmscAddr interface mocked in the Previewer. How this interface works on the Previewer may" +
108        " be different from that on a real device.")
109      const len = args.length
110      if (typeof args[len - 1] === 'function') {
111        args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramStringMock);
112      } else {
113        return new Promise((resolve, reject) => {
114          resolve(paramMock.paramStringMock);
115        })
116      }
117    },
118    hasSmsCapability: function () {
119      console.warn("telephony.sms.hasSmsCapability interface mocked in the Previewer. How this interface works on the Previewer may" +
120        " be different from that on a real device.")
121      return paramMock.paramBooleanMock;
122    },
123    addSimMessage: function (...args) {
124      console.warn("telephony.sms.addSimMessage interface mocked in the Previewer. How this interface works on the Previewer may" +
125        " be different from that on a real device.")
126      const len = args.length
127      if (typeof args[len - 1] === 'function') {
128        args[len - 1].call(this, paramMock.businessErrorMock);
129      } else {
130        return new Promise((resolve, reject) => {
131          resolve();
132        })
133      }
134    },
135    delSimMessage: function (...args) {
136      console.warn("telephony.sms.delSimMessage interface mocked in the Previewer. How this interface works on the Previewer may" +
137        " be different from that on a real device.")
138      const len = args.length
139      if (typeof args[len - 1] === 'function') {
140        args[len - 1].call(this, paramMock.businessErrorMock);
141      } else {
142        return new Promise((resolve, reject) => {
143          resolve();
144        })
145      }
146    },
147    updateSimMessage: function (...args) {
148      console.warn("telephony.sms.updateSimMessage interface mocked in the Previewer. How this interface works on the Previewer may" +
149        " be different from that on a real device.")
150      const len = args.length
151      if (typeof args[len - 1] === 'function') {
152        args[len - 1].call(this, paramMock.businessErrorMock);
153      } else {
154        return new Promise((resolve, reject) => {
155          resolve();
156        })
157      }
158    },
159    getAllSimMessages: function (...args) {
160      console.warn("telephony.sms.getAllSimMessages interface mocked in the Previewer. How this interface works on the Previewer may" +
161        " be different from that on a real device.")
162      const len = args.length
163      if (typeof args[len - 1] === 'function') {
164        args[len - 1].call(this, paramMock.businessErrorMock, [SimShortMessage]);
165      } else {
166        return new Promise((resolve, reject) => {
167          resolve([SimShortMessage]);
168        })
169      }
170    },
171    setCBConfig: function (...args) {
172      console.warn("telephony.sms.setCBConfig interface mocked in the Previewer. How this interface works on the Previewer may" +
173        " be different from that on a real device.")
174      const len = args.length
175      if (typeof args[len - 1] === 'function') {
176        args[len - 1].call(this, paramMock.businessErrorMock);
177      } else {
178        return new Promise((resolve, reject) => {
179          resolve();
180        })
181      }
182    }
183  }
184  return sms
185}