This PR contains the work that implements the Locations service, which is used to retrieve location data from a remote server. To give further details on what was done: - [x] created the `APICore` and `Locations` libraries into the **Libraries** package; - [x] defined the `Endpoint` and `Client` protocols; - [x] implemented the `MakeURLRequestUseCase` use case; - [x] implemented the `MockURLProtocol` protocol and the `MockURLResponse` models; - [x] implemented the `Location` model; - [x] implemented the `GetLocationsEndpoint` endpoint; - [x] implemented the `LocationsClient` client; - [x] implemented the `LocationsService` service. Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Reviewed-on: rock-n-code/deep-linking-assignment#4
16 lines
521 B
Swift
16 lines
521 B
Swift
//
|
|
// Data+Constants.swift
|
|
// LocationsTests
|
|
//
|
|
// Created by Javier Cicchelli on 10/04/2023.
|
|
// Copyright © 2023 Röck+Cöde. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
extension Data {
|
|
enum Responses {
|
|
static let locations = "{\"locations\":[{\"name\":\"Amsterdam\",\"lat\":52.3547498,\"long\":4.8339215},{\"name\":\"Mumbai\",\"lat\":19.0823998,\"long\":72.8111468},{\"name\":\"Copenhagen\",\"lat\":55.6713442,\"long\":12.523785},{\"lat\":40.4380638,\"long\":-3.7495758}]}".data(using: .utf8)
|
|
}
|
|
}
|