Skip to content

Commit

Permalink
[feat] add URLParametersTests
Browse files Browse the repository at this point in the history
  • Loading branch information
matejmolnar committed Jan 2, 2024
1 parent 4f041ff commit 2e23e79
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions Tests/NetworkingTests/URLParametersTests.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
//
// URLParametersTests.swift
//
//
// Created by Matej Molnár on 02.01.2024.
//

import Networking
import XCTest

private let baseURLString = "https://requestable.tests"

final class URLParametersTests: XCTestCase {
enum Router: Requestable {
case urlParameters([String : Any])

var baseURL: URL {
URL(string: baseURLString)!
}

var path: String {
""
}

var urlParameters: [String : Any]? {
switch self {
case let .urlParameters(parameters):
parameters
}
}
}

func testISODateParameterDefaultEncoding() async throws {
let dateString = "2023-11-29T12:13:04.598+0100"
let router = Router.urlParameters(["date": dateString])
let request = try router.asRequest()

XCTAssertEqual(
request.url?.absoluteString,
"\(baseURLString)?date=\(dateString)"
)
}

func testISODateParameterIncorrectEncoding() async throws {
let dateString = "2023-11-29T12:13:04.598%2B0100"
let router = Router.urlParameters(["date": dateString])
let request = try router.asRequest()

XCTAssertNotEqual(
request.url?.absoluteString,
"\(baseURLString)?date=\(dateString)"
)
}

func testISODatePercentEncodedParameter() async throws {
let dateString = "2023-11-29T12:13:04.598%2B0100"
let router = Router.urlParameters(["date": PercentEncodedParameter(dateString)])
let request = try router.asRequest()

XCTAssertEqual(
request.url?.absoluteString,
"\(baseURLString)?date=\(dateString)"
)
}
}

0 comments on commit 2e23e79

Please sign in to comment.