~ knotless Search/
↑↓ move↵ open⇧↵ all results

grain.social/grain-ios

1 collaborator
0
1
main
19 lines · 812 B Raw History
@testable import Grain
import XCTest

@MainActor
final class LoginViewTests: GrainTestCase {
    func testLegalTextContainsAllThreeLinks() throws {
        let attributed = try AttributedString(markdown: LoginView.legalMarkdown)
        var urls: [String] = []
        for run in attributed.runs {
            if let url = run.link {
                urls.append(url.absoluteString)
            }
        }
        XCTAssertTrue(urls.contains("https://grain.social/support/terms"), "Missing Terms link")
        XCTAssertTrue(urls.contains("https://grain.social/support/privacy"), "Missing Privacy Policy link")
        XCTAssertTrue(urls.contains("https://grain.social/support/community-guidelines"), "Missing Community Guidelines link")
        XCTAssertEqual(urls.count, 3, "Expected exactly 3 links")
    }
}