• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import { paramMock } from "../utils"
2
3export function mockReminderAgent() {
4    const infoMock = {
5        reminderId: 1,
6        info: "[PC preview] unknown info"
7    }
8    const reminderReq = {
9        reminderType: 1,
10        actionButton: [
11            {
12                title: "[PC preview] unknown title",
13                type: 0
14            }
15        ],
16        wantAgent: {
17            pkgName: "[PC preview] unknown pkg nam",
18            abilityName: "[PC preview] unknown ability name"
19        },
20        maxScreenWantAgent: {
21            pkgName: "[PC preview] unknown pkg name",
22            abilityName: "[PC preview] unknown ability name"
23        },
24        ringDuration: 1,
25        snoozeTimes: 1,
26        timeInterval: 1,
27        title: "[PC preview] unknown title",
28        content: "[PC preview] unknown content",
29        expiredContent: "[PC preview] unknown expiredContent",
30        snoozeContent: "[PC preview] unknown snoozeContent",
31        notificationId: 1,
32        slotType: 3
33    }
34    const reminderReqs = [
35        reminderReq
36    ]
37    global.ohosplugin.reminderAgent = {
38        publishReminder: function (...args) {
39            console.warn("reminderAgent.publishReminder interface mocked in the Previewer." +
40                "How this interface works on the Previewer may be different from that on a real device.")
41            const len = args.length
42            if (typeof args[len - 1] === 'function') {
43                args[len - 1].call(this, paramMock.businessErrorMock, infoMock.reminderId)
44            } else {
45                return new Promise((resolve) => {
46                    resolve(infoMock.reminderId)
47                });
48            }
49        },
50        getValidReminders: function (...args) {
51            console.warn("reminderAgent.getValidReminders interface mocked in the Previewer." +
52                "How this interface works on the Previewer may be different from that on a real device.")
53            const len = args.length
54            if (typeof args[len - 1] === 'function') {
55                args[len - 1].call(this, paramMock.businessErrorMock, reminderReqs)
56            } else {
57                return new Promise((resolve) => {
58                   resolve(reminderReqs)
59                });
60            }
61        },
62        cancelReminder: function (...args) {
63            console.warn("reminderAgent.cancelReminder interface mocked in the Previewer." +
64                "How this interface works on the Previewer may be different from that on a real device.")
65            const len = args.length
66            if (typeof args[len - 1] === 'function') {
67                args[len - 1].call(this, paramMock.businessErrorMock)
68            } else {
69                return new Promise((resolve) => {
70                   resolve()
71                });
72            }
73        },
74        cancelAllReminders: function (...args) {
75            console.warn("reminderAgent.cancelAllReminders interface mocked in the Previewer." +
76                "How this interface works on the Previewer may be different from that on a real device.")
77            const len = args.length
78            if (typeof args[len - 1] === 'function') {
79                args[len - 1].call(this, paramMock.businessErrorMock)
80            } else {
81                return new Promise((resolve) => {
82                    resolve()
83                });
84            }
85        },
86        addNotificationSlot: function (...args) {
87            console.warn("reminderAgent.addNotificationSlot interface mocked in the Previewer." +
88                "How this interface works on the Previewer may be different from that on a real device.")
89            const len = args.length
90            if (typeof args[len - 1] === 'function') {
91                args[len - 1].call(this, paramMock.businessErrorMock)
92            } else {
93                return new Promise((resolve) => {
94                    resolve()
95                });
96            }
97        },
98        removeNotificationSlot: function (...args) {
99            console.warn("reminderAgent.removeNotificationSlot interface mocked in the Previewer." +
100                "How this interface works on the Previewer may be different from that on a real device.")
101            const len = args.length
102            if (typeof args[len - 1] === 'function') {
103                args[len - 1].call(this, paramMock.businessErrorMock)
104            } else {
105                return new Promise((resolve) => {
106                    resolve()
107                });
108            }
109        }
110    }
111}