()
| 84 | * @returns {object} MatrixClient stub |
| 85 | */ |
| 86 | export function createTestClient(): MatrixClient { |
| 87 | const eventEmitter = new EventEmitter(); |
| 88 | |
| 89 | let txnId = 1; |
| 90 | let createdRoom: Room | undefined; |
| 91 | |
| 92 | const client = { |
| 93 | getHomeserverUrl: jest.fn(), |
| 94 | getIdentityServerUrl: jest.fn(), |
| 95 | getDomain: jest.fn().mockReturnValue("matrix.org"), |
| 96 | getUserId: jest.fn().mockReturnValue("@userId:matrix.org"), |
| 97 | getSafeUserId: jest.fn().mockReturnValue("@userId:matrix.org"), |
| 98 | getUserIdLocalpart: jest.fn().mockResolvedValue("userId"), |
| 99 | getUser: jest.fn().mockReturnValue({ on: jest.fn(), off: jest.fn() }), |
| 100 | getDevice: jest.fn(), |
| 101 | getDeviceId: jest.fn().mockReturnValue("ABCDEFGHI"), |
| 102 | deviceId: "ABCDEFGHI", |
| 103 | getDevices: jest.fn().mockResolvedValue({ devices: [{ device_id: "ABCDEFGHI" }] }), |
| 104 | getSessionId: jest.fn().mockReturnValue("iaszphgvfku"), |
| 105 | credentials: { userId: "@userId:matrix.org" }, |
| 106 | getAccessToken: jest.fn(), |
| 107 | |
| 108 | secretStorage: { |
| 109 | get: jest.fn(), |
| 110 | isStored: jest.fn().mockReturnValue(false), |
| 111 | checkKey: jest.fn().mockResolvedValue(false), |
| 112 | hasKey: jest.fn().mockReturnValue(false), |
| 113 | getDefaultKeyId: jest.fn().mockResolvedValue(null), |
| 114 | }, |
| 115 | |
| 116 | store: { |
| 117 | getPendingEvents: jest.fn().mockResolvedValue([]), |
| 118 | setPendingEvents: jest.fn().mockResolvedValue(undefined), |
| 119 | storeRoom: jest.fn(), |
| 120 | removeRoom: jest.fn(), |
| 121 | }, |
| 122 | |
| 123 | getCrypto: jest.fn().mockReturnValue({ |
| 124 | getOwnDeviceKeys: jest.fn().mockResolvedValue({ ed25519: "ed25519", curve25519: "curve25519" }), |
| 125 | getUserDeviceInfo: jest.fn().mockResolvedValue(new Map()), |
| 126 | getUserVerificationStatus: jest.fn(), |
| 127 | getDeviceVerificationStatus: jest.fn(), |
| 128 | resetKeyBackup: jest.fn(), |
| 129 | isEncryptionEnabledInRoom: jest.fn().mockResolvedValue(false), |
| 130 | isStateEncryptionEnabledInRoom: jest.fn().mockResolvedValue(false), |
| 131 | getVerificationRequestsToDeviceInProgress: jest.fn().mockReturnValue([]), |
| 132 | setDeviceIsolationMode: jest.fn(), |
| 133 | prepareToEncrypt: jest.fn(), |
| 134 | bootstrapCrossSigning: jest.fn(), |
| 135 | getActiveSessionBackupVersion: jest.fn().mockResolvedValue(null), |
| 136 | isKeyBackupTrusted: jest.fn().mockResolvedValue({}), |
| 137 | createRecoveryKeyFromPassphrase: jest.fn().mockResolvedValue({ |
| 138 | privateKey: new Uint8Array(32), |
| 139 | encodedPrivateKey: "encoded private key", |
| 140 | }), |
| 141 | bootstrapSecretStorage: jest.fn(), |
| 142 | isDehydrationSupported: jest.fn().mockResolvedValue(false), |
| 143 | restoreKeyBackup: jest.fn(), |
no test coverage detected