mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 12:07:55 +00:00
Only register for notifications when the setting is enabled. (#2819)
This commit is contained in:
@@ -163,6 +163,38 @@ final class NotificationManagerTests: XCTestCase {
|
||||
await fulfillment(of: [expectation])
|
||||
XCTAssertTrue(authorizationStatusWasGranted)
|
||||
}
|
||||
|
||||
func test_whenStartAndAuthorizedAndNotificationDisabled_registerForRemoteNotificationsNotCalled() async throws {
|
||||
appSettings.enableNotifications = false
|
||||
notificationCenter.authorizationStatusReturnValue = .authorized
|
||||
notificationManager.delegate = self
|
||||
|
||||
notificationManager.setUserSession(MockUserSession(clientProxy: ClientProxyMock(),
|
||||
mediaProvider: MockMediaProvider(),
|
||||
voiceMessageMediaManager: VoiceMessageMediaManagerMock()))
|
||||
try await Task.sleep(for: .seconds(1))
|
||||
|
||||
XCTAssertFalse(authorizationStatusWasGranted)
|
||||
}
|
||||
|
||||
func test_whenStartAndAuthorized_registerForRemoteNotificationsCalled() async throws {
|
||||
appSettings.enableNotifications = true
|
||||
notificationCenter.authorizationStatusReturnValue = .authorized
|
||||
notificationManager.delegate = self
|
||||
|
||||
let expectation: XCTestExpectation = expectation(description: "registerForRemoteNotifications delegate function should be called")
|
||||
expectation.assertForOverFulfill = false
|
||||
registerForRemoteNotificationsDelegateCalled = {
|
||||
expectation.fulfill()
|
||||
}
|
||||
|
||||
notificationManager.setUserSession(MockUserSession(clientProxy: ClientProxyMock(),
|
||||
mediaProvider: MockMediaProvider(),
|
||||
voiceMessageMediaManager: VoiceMessageMediaManagerMock()))
|
||||
await fulfillment(of: [expectation])
|
||||
|
||||
XCTAssertTrue(authorizationStatusWasGranted)
|
||||
}
|
||||
|
||||
func test_whenWillPresentNotificationsDelegateNotSet_CorrectPresentationOptionsReturned() async throws {
|
||||
let archiver = MockCoder(requiringSecureCoding: false)
|
||||
|
||||
Reference in New Issue
Block a user