mirror of https://github.com/vector-im/riot-web
				
				
				
			Add test for RoomNotificationState (#7820)
Regression test for https://github.com/vector-im/element-web/issues/20859pull/21833/head
							parent
							
								
									7387f3c80a
								
							
						
					
					
						commit
						01b00bf3fe
					
				|  | @ -0,0 +1,43 @@ | |||
| /* | ||||
| Copyright 2022 The Matrix.org Foundation C.I.C. | ||||
| 
 | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
| 
 | ||||
|     http://www.apache.org/licenses/LICENSE-2.0
 | ||||
| 
 | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| import { Room } from "matrix-js-sdk"; | ||||
| 
 | ||||
| import "../../skinned-sdk"; | ||||
| import { stubClient } from "../../test-utils"; | ||||
| import { MatrixClientPeg } from "../../../src/MatrixClientPeg"; | ||||
| import { RoomNotificationState } from "../../../src/stores/notifications/RoomNotificationState"; | ||||
| import * as testUtils from "../../test-utils"; | ||||
| import { NotificationStateEvents } from "../../../src/stores/notifications/NotificationState"; | ||||
| 
 | ||||
| describe("RoomNotificationState", () => { | ||||
|     stubClient(); | ||||
|     const client = MatrixClientPeg.get(); | ||||
| 
 | ||||
|     it("Updates on event decryption", () => { | ||||
|         const testRoom = testUtils.mkStubRoom(client, "$aroomid", "Test room"); | ||||
| 
 | ||||
|         const roomNotifState = new RoomNotificationState(testRoom as any as Room); | ||||
|         const listener = jest.fn(); | ||||
|         roomNotifState.addListener(NotificationStateEvents.Update, listener); | ||||
|         const testEvent = { | ||||
|             getRoomId: () => testRoom.roomId, | ||||
|         }; | ||||
|         testRoom.getUnreadNotificationCount = jest.fn().mockReturnValue(1); | ||||
|         client.emit("Event.decrypted", testEvent); | ||||
|         expect(listener).toHaveBeenCalled(); | ||||
|     }); | ||||
| }); | ||||
		Loading…
	
		Reference in New Issue
	
	 David Baker
						David Baker