import Elementary import Testing @testable import WebsiteLibrary @Suite( "SiteFooter component", .tags(.component) ) struct SiteFooterTests { // MARK: Functional tests @Test func `renders its link columns`() { let html = SiteFooter().render() for title in ["Browse", "Sell", "Account", "Language"] { #expect(html.contains(">\(title)")) } for path in [String.Route.series, .Route.openShop, .Route.gradingGuide, .Route.events, .Route.signIn, .Route.wants, .Route.collection, .Route.account, .Route.recover] { #expect(html.contains(#"href="\#(path)""#)) } } @Test func `escapes the ampersands in its labels`() { #expect(SiteFooter().render().contains("Want list & alerts")) } @Test func `presses the one language the prototype serves`() { let html = SiteFooter().render() #expect(html.components(separatedBy: #"aria-pressed="true""#).count - 1 == 1) #expect(html.contains(#"aria-pressed="true">EN<"#)) } }