Files
damus/damusTests/MutingTests.swift
Daniel D’Aquino 3a0acfaba1 Implement NostrNetworkManager and UserRelayListManager
This commit implements a new layer called NostrNetworkManager,
responsible for managing interactions with the Nostr network, and
providing a higher level API that is easier and more secure to use for
the layer above it.

It also integrates it with the rest of the app, by moving RelayPool and PostBox
into NostrNetworkManager, along with all their usages.

Changelog-Added: Added NIP-65 relay list support
Changelog-Changed: Improved robustness of relay list handling
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2025-04-16 11:48:52 -07:00

44 lines
1.7 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//
// MutingTests.swift
// damusTests
//
// Created by Daniel DAquino on 2024-05-06.
//
import Foundation
import XCTest
@testable import damus
final class MutingTests: XCTestCase {
func testWordMuting() {
// Setup some test data
let test_note = NostrEvent(
content: "Nostr is the super app. Because its actually an ecosystem of apps, all of which make each other better. People havent grasped that yet. They will when its more accessible and onboarding is more straightforward and intuitive.",
keypair: jack_keypair,
createdAt: UInt32(Date().timeIntervalSince1970 - 100)
)!
let spammy_keypair = generate_new_keypair().to_keypair()
let spammy_test_note = NostrEvent(
content: "Some spammy airdrop just arrived! Why stack sats when you can get scammed instead with some random coin? Call 1-800-GET-SCAMMED to claim your airdrop today!",
keypair: spammy_keypair,
createdAt: UInt32(Date().timeIntervalSince1970 - 100)
)!
let mute_item: MuteItem = .word("airdrop", nil)
let existing_mutelist = test_damus_state.mutelist_manager.event
guard
let full_keypair = test_damus_state.keypair.to_full(),
let mutelist = create_or_update_mutelist(keypair: full_keypair, mprev: existing_mutelist, to_add: mute_item)
else {
return
}
test_damus_state.mutelist_manager.set_mutelist(mutelist)
test_damus_state.nostrNetwork.postbox.send(mutelist)
XCTAssert(test_damus_state.mutelist_manager.is_event_muted(spammy_test_note))
XCTAssertFalse(test_damus_state.mutelist_manager.is_event_muted(test_note))
}
}