Merge tag 'v1.7-rc2'

v1.7 Madeira release RC2

55c26d22cb v1.7 (11)
4c8134908c Enable IAP feature for release
3ac7d75235 Add UI error message when IAP succeeds but receipt verification fails
b49a5f4d29 Purple: Improve UX on Damus Purple renewals
3569919eaf Add Damus Purple impending expiry notification support
This commit is contained in:
William Casarin
2024-02-29 03:10:49 -08:00
13 changed files with 501 additions and 39 deletions

View File

@@ -0,0 +1,37 @@
//
// DamusPurpleImpendingExpirationTests.swift
// damusTests
//
// Created by Daniel DAquino on 2024-02-26.
//
import XCTest
@testable import damus
final class DamusPurpleImpendingExpirationTests : XCTestCase {
func testNotificationContentSetDoesNotAllowRepetition() {
var notification_contents: Set<DamusAppNotification.Content> = []
let expiry_date = UInt64(Date.now.timeIntervalSince1970)
let now = Date.now
let notification_1 = DamusAppNotification(content: .purple_impending_expiration(days_remaining: 3, expiry_date: expiry_date), timestamp: now)
notification_contents.insert(notification_1.content)
let notification_2 = DamusAppNotification(content: .purple_impending_expiration(days_remaining: 3, expiry_date: expiry_date), timestamp: now)
notification_contents.insert(notification_2.content)
let notification_3 = DamusAppNotification(content: .purple_impending_expiration(days_remaining: 2, expiry_date: expiry_date), timestamp: now)
notification_contents.insert(notification_3.content)
let notification_4 = DamusAppNotification(content: .purple_impending_expiration(days_remaining: 2, expiry_date: expiry_date), timestamp: now)
notification_contents.insert(notification_4.content)
let notification_5 = DamusAppNotification(content: .purple_impending_expiration(days_remaining: 1, expiry_date: expiry_date), timestamp: now)
notification_contents.insert(notification_5.content)
let notification_6 = DamusAppNotification(content: .purple_impending_expiration(days_remaining: 1, expiry_date: expiry_date), timestamp: now)
notification_contents.insert(notification_6.content)
XCTAssertEqual(notification_contents.count, 3)
XCTAssertTrue(notification_contents.contains(notification_1.content))
XCTAssertTrue(notification_contents.contains(notification_2.content))
XCTAssertTrue(notification_contents.contains(notification_3.content))
XCTAssertTrue(notification_contents.contains(notification_4.content))
XCTAssertTrue(notification_contents.contains(notification_5.content))
XCTAssertTrue(notification_contents.contains(notification_6.content))
}
}