Files
ccn/Services/Website/Tests/Library/Cases/Public/Controllers/RootControllerTests.swift
T

40 lines
965 B
Swift
Raw Normal View History

import Hummingbird
import HummingbirdTesting
import NIOCore
import Testing
@testable import WebsiteCore
@Suite("RootController controller")
struct RootControllerTests {
// MARK: Constants
private let app: Application = .init(router: {
let router = Router()
router.addRoutes(RootController<BasicRequestContext>().routes)
return router
}())
// MARK: Functional tests
@Test
func `serves the landing page at the root path`() async throws {
try await app.test(.router) { client in
try await client.execute(
uri: "/",
method: .get
) { response in
let body = String(buffer: response.body)
#expect(response.status == .ok)
#expect(response.headers[.contentType] == "text/html; charset=utf-8")
#expect(body.contains("Hello world!"))
}
}
}
}