From dbbf122e5fab0771dad891c66a3696187df6d6e3 Mon Sep 17 00:00:00 2001 From: Pallab Maiti Date: Sat, 16 Mar 2024 19:56:21 +0530 Subject: [PATCH 1/6] class names renamed --- .github/workflows/test.yml | 18 +- .../FindFalcon/FindFalconPresenter.swift | 28 -- .../FindFalconPlanetsAndVehiclesWorker.swift | 26 -- .../Workers/FindFalconTokenWorker.swift | 24 - .../FoundFalcon/FoundFalconPresenter.swift | 29 -- .../Mocks/FindFalconDisplayMock.swift | 26 -- .../Mocks/FindFalconModelMocks.swift | 70 --- ...ndFalconPlanetsAndVehiclesWorkerMock.swift | 21 - .../Mocks/FindFalconPresenterMock.swift | 26 -- .../Mocks/FindFalconTokenWorkerMock.swift | 21 - .../FoundFalcon/FoundFalconWorkerTests.swift | 24 - .../Mocks/FoundFalconModelMocks.swift | 51 --- .../Mocks/FoundFalconPresenterMock.swift | 26 -- .../Mocks/FoundFalconWorkerMock.swift | 22 - .../Mocks/NetworkManagerMock.swift | 46 -- .../project.pbxproj | 412 +++++++++--------- .../contents.xcworkspacedata | 2 +- .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcschemes/FindingFalcone.xcscheme | 24 +- .../xcschemes/FindingFalconeTests.xcscheme | 6 +- .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../Assets.xcassets/Contents.json | 0 .../FindFalcone/FindFalconeConfigurator.swift | 14 +- .../FindFalcone/FindFalconeDataStore.swift | 6 +- .../FindFalcone/FindFalconeInteractor.swift | 28 +- .../FindFalcone/FindFalconeModel.swift | 6 +- .../FindFalcone/FindFalconePresenter.swift | 29 ++ .../FindFalcone/FindFalconeView.swift | 34 +- .../FindFalcone/FindFalconeWorker.swift | 14 +- .../FindingFalconeApp.swift | 8 +- .../Networking/API.swift | 12 +- .../Networking/APIClient.swift | 2 +- .../Networking/APIError.swift | 2 +- .../Networking/APIResponse.swift | 2 +- .../Networking/NetworkManager.swift | 20 +- .../Networking/ResponseHandler.swift | 2 +- .../Preview Assets.xcassets/Contents.json | 0 .../SelectDestinations}/Models/Planet.swift | 2 +- .../Models/SelectDestinationsDataModel.swift | 6 +- .../Models/SelectDestinationsDataStore.swift | 6 +- .../SelectDestinations}/Models/Token.swift | 2 +- .../SelectDestinations}/Models/Vehicle.swift | 2 +- .../SelectDestinationsConfigurator.swift | 16 +- .../SelectDestinationsInteractor.swift | 14 +- .../SelectDestinationsModel.swift | 6 +- .../SelectDestinationsPresenter.swift | 28 ++ .../SelectDestinationsRouter.swift | 10 +- .../SelectDestinationsView.swift | 36 +- .../DestinationSelectionView.swift | 8 +- .../UIComponents/VehicleSelectionView.swift | 6 +- .../Workers/PlanetsAndVehiclesWorker.swift | 26 ++ .../Workers/TokenWorker.swift | 24 + .../FindFalconeInteractorTests.swift | 30 +- .../FindFalconePresenterTests.swift | 30 +- .../FindFalcone/FindFalconeViewTests.swift | 26 +- .../FindFalcone/FindFalconeWorkerTests.swift | 24 + .../Mocks/FindFalconeDisplayMock.swift | 18 +- .../Mocks/FindFalconeInteractorMock.swift | 14 +- .../Mocks/FindFalconeModelMocks.swift | 51 +++ .../Mocks/FindFalconePresenterMock.swift | 26 ++ .../Mocks/FindFalconeWorkerMock.swift | 22 + .../Mocks/NetworkManagerMock.swift | 46 ++ .../Networking/Mocks/APIClientMock.swift | 4 +- .../Networking/Mocks/ServerMock.swift | 2 +- .../Networking/NetworkManagerTests.swift | 30 +- .../Networking/ResponseHandlerTests.swift | 4 +- .../Networking/URLSessionClientTests.swift | 8 +- .../Mocks/ModelMocks.swift | 8 +- .../Mocks/PlanetsAndVehiclesWorkerMock.swift | 21 + .../Mocks/SelectDestinationsDisplayMock.swift | 26 ++ ...electDestinationsInteractorErrorMock.swift | 8 +- .../SelectDestinationsInteractorMock.swift | 8 +- .../Mocks/SelectDestinationsModelMocks.swift | 70 +++ .../SelectDestinationsPresenterMock.swift | 26 ++ .../Mocks/TokenWorkerMock.swift | 21 + .../SelectDestinationsDataModelTests.swift | 10 +- .../SelectDestinationsDataStoreTests.swift | 10 +- .../SelectDestinationsInteractorTests.swift | 24 +- .../SelectDestinationsPresenterTests.swift | 20 +- .../SelectDestinationsViewTests.swift | 54 +-- .../UIComponents/DestinationViewTests.swift | 14 +- ...dFalconPlanetsAndVehiclesWorkerTests.swift | 14 +- .../Workers/FindFalconTokenWorkerTests.swift | 8 +- .../Utilities/Mocks.swift | 2 +- .../xccov-to-generic.sh | 0 86 files changed, 976 insertions(+), 976 deletions(-) delete mode 100644 FindingFalcon/FindFalcon/FindFalconPresenter.swift delete mode 100644 FindingFalcon/FindFalcon/Workers/FindFalconPlanetsAndVehiclesWorker.swift delete mode 100644 FindingFalcon/FindFalcon/Workers/FindFalconTokenWorker.swift delete mode 100644 FindingFalcon/FoundFalcon/FoundFalconPresenter.swift delete mode 100644 FindingFalconTests/FindFalcon/Mocks/FindFalconDisplayMock.swift delete mode 100644 FindingFalconTests/FindFalcon/Mocks/FindFalconModelMocks.swift delete mode 100644 FindingFalconTests/FindFalcon/Mocks/FindFalconPlanetsAndVehiclesWorkerMock.swift delete mode 100644 FindingFalconTests/FindFalcon/Mocks/FindFalconPresenterMock.swift delete mode 100644 FindingFalconTests/FindFalcon/Mocks/FindFalconTokenWorkerMock.swift delete mode 100644 FindingFalconTests/FoundFalcon/FoundFalconWorkerTests.swift delete mode 100644 FindingFalconTests/FoundFalcon/Mocks/FoundFalconModelMocks.swift delete mode 100644 FindingFalconTests/FoundFalcon/Mocks/FoundFalconPresenterMock.swift delete mode 100644 FindingFalconTests/FoundFalcon/Mocks/FoundFalconWorkerMock.swift delete mode 100644 FindingFalconTests/Mocks/NetworkManagerMock.swift rename {FindingFalcon.xcodeproj => FindingFalcone.xcodeproj}/project.pbxproj (58%) rename {FindingFalcon.xcodeproj => FindingFalcone.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (50%) rename {FindingFalcon.xcodeproj => FindingFalcone.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename FindingFalcon.xcodeproj/xcshareddata/xcschemes/FindingFalcon.xcscheme => FindingFalcone.xcodeproj/xcshareddata/xcschemes/FindingFalcone.xcscheme (79%) rename FindingFalcon.xcodeproj/xcshareddata/xcschemes/FindingFalconTests.xcscheme => FindingFalcone.xcodeproj/xcshareddata/xcschemes/FindingFalconeTests.xcscheme (90%) rename {FindingFalcon => FindingFalcone}/Assets.xcassets/AccentColor.colorset/Contents.json (100%) rename {FindingFalcon => FindingFalcone}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {FindingFalcon => FindingFalcone}/Assets.xcassets/Contents.json (100%) rename FindingFalcon/FoundFalcon/FoundFalconConfigurator.swift => FindingFalcone/FindFalcone/FindFalconeConfigurator.swift (74%) rename FindingFalcon/FoundFalcon/FoundFalconDataStore.swift => FindingFalcone/FindFalcone/FindFalconeDataStore.swift (68%) rename FindingFalcon/FoundFalcon/FoundFalconInteractor.swift => FindingFalcone/FindFalcone/FindFalconeInteractor.swift (65%) rename FindingFalcon/FoundFalcon/FoundFalconModel.swift => FindingFalcone/FindFalcone/FindFalconeModel.swift (91%) create mode 100644 FindingFalcone/FindFalcone/FindFalconePresenter.swift rename FindingFalcon/FoundFalcon/FoundFalconView.swift => FindingFalcone/FindFalcone/FindFalconeView.swift (73%) rename FindingFalcon/FoundFalcon/FoundFalconWorker.swift => FindingFalcone/FindFalcone/FindFalconeWorker.swift (51%) rename FindingFalcon/FindingFalconApp.swift => FindingFalcone/FindingFalconeApp.swift (51%) rename {FindingFalcon => FindingFalcone}/Networking/API.swift (86%) rename {FindingFalcon => FindingFalcone}/Networking/APIClient.swift (98%) rename {FindingFalcon => FindingFalcone}/Networking/APIError.swift (90%) rename {FindingFalcon => FindingFalcone}/Networking/APIResponse.swift (97%) rename {FindingFalcon => FindingFalcone}/Networking/NetworkManager.swift (59%) rename {FindingFalcon => FindingFalcone}/Networking/ResponseHandler.swift (97%) rename {FindingFalcon => FindingFalcone}/Preview Content/Preview Assets.xcassets/Contents.json (100%) rename {FindingFalcon/FindFalcon => FindingFalcone/SelectDestinations}/Models/Planet.swift (89%) rename FindingFalcon/FindFalcon/Models/FindFalconDataModel.swift => FindingFalcone/SelectDestinations/Models/SelectDestinationsDataModel.swift (96%) rename FindingFalcon/FindFalcon/Models/FindFalconDataStore.swift => FindingFalcone/SelectDestinations/Models/SelectDestinationsDataStore.swift (81%) rename {FindingFalcon/FindFalcon => FindingFalcone/SelectDestinations}/Models/Token.swift (87%) rename {FindingFalcon/FindFalcon => FindingFalcone/SelectDestinations}/Models/Vehicle.swift (91%) rename FindingFalcon/FindFalcon/FindFalconConfigurator.swift => FindingFalcone/SelectDestinations/SelectDestinationsConfigurator.swift (63%) rename FindingFalcon/FindFalcon/FindFalconInteractor.swift => FindingFalcone/SelectDestinations/SelectDestinationsInteractor.swift (63%) rename FindingFalcon/FindFalcon/FindFalconModel.swift => FindingFalcone/SelectDestinations/SelectDestinationsModel.swift (93%) create mode 100644 FindingFalcone/SelectDestinations/SelectDestinationsPresenter.swift rename FindingFalcon/FindFalcon/FindFalconRouter.swift => FindingFalcone/SelectDestinations/SelectDestinationsRouter.swift (62%) rename FindingFalcon/FindFalcon/FindFalconView.swift => FindingFalcone/SelectDestinations/SelectDestinationsView.swift (75%) rename FindingFalcon/FindFalcon/UIComponents/DestinationView.swift => FindingFalcone/SelectDestinations/UIComponents/DestinationSelectionView.swift (91%) rename FindingFalcon/FindFalcon/UIComponents/SelectVehicleView.swift => FindingFalcone/SelectDestinations/UIComponents/VehicleSelectionView.swift (91%) create mode 100644 FindingFalcone/SelectDestinations/Workers/PlanetsAndVehiclesWorker.swift create mode 100644 FindingFalcone/SelectDestinations/Workers/TokenWorker.swift rename FindingFalconTests/FoundFalcon/FoundFalconInteractorTests.swift => FindingFalconeTests/FindFalcone/FindFalconeInteractorTests.swift (59%) rename FindingFalconTests/FoundFalcon/FoundFalconPresenterTests.swift => FindingFalconeTests/FindFalcone/FindFalconePresenterTests.swift (50%) rename FindingFalconTests/FoundFalcon/FoundFalconViewTests.swift => FindingFalconeTests/FindFalcone/FindFalconeViewTests.swift (51%) create mode 100644 FindingFalconeTests/FindFalcone/FindFalconeWorkerTests.swift rename FindingFalconTests/FoundFalcon/Mocks/FoundFalconDisplayMock.swift => FindingFalconeTests/FindFalcone/Mocks/FindFalconeDisplayMock.swift (51%) rename FindingFalconTests/FoundFalcon/Mocks/FoundFalconInteractorMock.swift => FindingFalconeTests/FindFalcone/Mocks/FindFalconeInteractorMock.swift (54%) create mode 100644 FindingFalconeTests/FindFalcone/Mocks/FindFalconeModelMocks.swift create mode 100644 FindingFalconeTests/FindFalcone/Mocks/FindFalconePresenterMock.swift create mode 100644 FindingFalconeTests/FindFalcone/Mocks/FindFalconeWorkerMock.swift create mode 100644 FindingFalconeTests/Mocks/NetworkManagerMock.swift rename {FindingFalconTests => FindingFalconeTests}/Networking/Mocks/APIClientMock.swift (95%) rename {FindingFalconTests => FindingFalconeTests}/Networking/Mocks/ServerMock.swift (98%) rename {FindingFalconTests => FindingFalconeTests}/Networking/NetworkManagerTests.swift (80%) rename {FindingFalconTests => FindingFalconeTests}/Networking/ResponseHandlerTests.swift (95%) rename {FindingFalconTests => FindingFalconeTests}/Networking/URLSessionClientTests.swift (90%) rename {FindingFalconTests/FindFalcon => FindingFalconeTests/SelectDestinations}/Mocks/ModelMocks.swift (93%) create mode 100644 FindingFalconeTests/SelectDestinations/Mocks/PlanetsAndVehiclesWorkerMock.swift create mode 100644 FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsDisplayMock.swift rename FindingFalconTests/FindFalcon/Mocks/FindFalconInteractorErrorMock.swift => FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsInteractorErrorMock.swift (57%) rename FindingFalconTests/FindFalcon/Mocks/FindFalconInteractorMock.swift => FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsInteractorMock.swift (71%) create mode 100644 FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsModelMocks.swift create mode 100644 FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsPresenterMock.swift create mode 100644 FindingFalconeTests/SelectDestinations/Mocks/TokenWorkerMock.swift rename FindingFalconTests/FindFalcon/Models/FindFalconDataModelTests.swift => FindingFalconeTests/SelectDestinations/Models/SelectDestinationsDataModelTests.swift (94%) rename FindingFalconTests/FindFalcon/Models/FindFalconDataStoreTests.swift => FindingFalconeTests/SelectDestinations/Models/SelectDestinationsDataStoreTests.swift (80%) rename FindingFalconTests/FindFalcon/FindFalconInteractorTests.swift => FindingFalconeTests/SelectDestinations/SelectDestinationsInteractorTests.swift (53%) rename FindingFalconTests/FindFalcon/FindFalconPresenterTests.swift => FindingFalconeTests/SelectDestinations/SelectDestinationsPresenterTests.swift (62%) rename FindingFalconTests/FindFalcon/FindFalconViewTests.swift => FindingFalconeTests/SelectDestinations/SelectDestinationsViewTests.swift (74%) rename {FindingFalconTests/FindFalcon => FindingFalconeTests/SelectDestinations}/UIComponents/DestinationViewTests.swift (84%) rename {FindingFalconTests/FindFalcon => FindingFalconeTests/SelectDestinations}/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift (51%) rename {FindingFalconTests/FindFalcon => FindingFalconeTests/SelectDestinations}/Workers/FindFalconTokenWorkerTests.swift (63%) rename {FindingFalconTests => FindingFalconeTests}/Utilities/Mocks.swift (99%) rename xccov-to-generic.sh => Scripts/xccov-to-generic.sh (100%) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ed4d005..0e7ad0d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,18 +33,18 @@ jobs: - name: Run tests(iOS) run: | - xcodebuild -project FindingFalcon.xcodeproj -scheme FindingFalconTests test -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 14' -enableCodeCoverage YES -derivedDataPath build | xcpretty + xcodebuild -project FindingFalcone.xcodeproj -scheme FindingFalconeTests test -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 14' -enableCodeCoverage YES -derivedDataPath build | xcpretty - name: Collect coverage into one XML report run: | - bash xccov-to-generic.sh build/Logs/Test/*.xcresult/ > generic-coverage.xml + bash Scripts/xccov-to-generic.sh build/Logs/Test/*.xcresult/ > generic-coverage.xml - - name: SonarCloud Scan - env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: | - sonar-scanner -Dsonar.host.url=https://sonarcloud.io -# uses: SonarSource/sonarcloud-github-action@master +# - name: SonarCloud Scan # env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} +# run: | +# sonar-scanner -Dsonar.host.url=https://sonarcloud.io + uses: SonarSource/sonarcloud-github-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/FindingFalcon/FindFalcon/FindFalconPresenter.swift b/FindingFalcon/FindFalcon/FindFalconPresenter.swift deleted file mode 100644 index 38742c5..0000000 --- a/FindingFalcon/FindFalcon/FindFalconPresenter.swift +++ /dev/null @@ -1,28 +0,0 @@ -// -// FindFalconPresenter.swift -// FindingFalcon -// -// Created by Pallab Maiti on 04/03/24. -// - -import Foundation - -protocol FindFalconPresentationLogic { - func presentPlanetsAndVehicles(_ response: FindingFalcon.LoadPlanetsAndVehicles.Response) - func presentToken(_ response: FindingFalcon.RetrieveToken.Response) -} - -final class FindFalconPresenter: FindFalconPresentationLogic { - var view: FindFalconDisplayLogic? - - func presentPlanetsAndVehicles(_ response: FindingFalcon.LoadPlanetsAndVehicles.Response) { - let planets = response.planets.compactMap{ Planet(name: $0.name, distance: $0.distance) } - let vehicles = response.vehicles.compactMap { Vehicle(name: $0.name, totalNo: $0.totalNo, maxDistance: $0.maxDistance, speed: $0.speed) } - let viewModel = FindingFalcon.LoadPlanetsAndVehicles.ViewModel(vehicles: vehicles, planets: planets) - view?.displayPlanetsAndVehicles(viewModel: viewModel) - } - - func presentToken(_ response: FindingFalcon.RetrieveToken.Response) { - view?.displayToken(viewModel: FindingFalcon.RetrieveToken.ViewModel(token: Token(token: response.token))) - } -} diff --git a/FindingFalcon/FindFalcon/Workers/FindFalconPlanetsAndVehiclesWorker.swift b/FindingFalcon/FindFalcon/Workers/FindFalconPlanetsAndVehiclesWorker.swift deleted file mode 100644 index c2dbdea..0000000 --- a/FindingFalcon/FindFalcon/Workers/FindFalconPlanetsAndVehiclesWorker.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// FindFalconPlanetsAndVehiclesWorker.swift -// FindingFalcon -// -// Created by Pallab Maiti on 05/03/24. -// - -import Foundation - -protocol FindFalconPlanetsAndVehiclesLogic { - func getPlanetsAndVehicles() async throws -> FindingFalcon.LoadPlanetsAndVehicles.Response -} - -final class FindFalconPlanetsAndVehiclesWorker: FindFalconPlanetsAndVehiclesLogic { - let networkManager: ServiceType - - init(networkManager: ServiceType) { - self.networkManager = networkManager - } - - func getPlanetsAndVehicles() async throws -> FindingFalcon.LoadPlanetsAndVehicles.Response { - let vehicles = try await networkManager.getVehicles() - let planets = try await networkManager.getPlanets() - return FindingFalcon.LoadPlanetsAndVehicles.Response(planets: planets.value, vehicles: vehicles.value) - } -} diff --git a/FindingFalcon/FindFalcon/Workers/FindFalconTokenWorker.swift b/FindingFalcon/FindFalcon/Workers/FindFalconTokenWorker.swift deleted file mode 100644 index 8a1a814..0000000 --- a/FindingFalcon/FindFalcon/Workers/FindFalconTokenWorker.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// FindFalconTokenWorker.swift -// FindingFalcon -// -// Created by Pallab Maiti on 05/03/24. -// - -import Foundation - -protocol FindFalconTokenLogic { - func retrieveToken() async throws -> FindingFalcon.RetrieveToken.Response -} - -final class FindFalconTokenWorker: FindFalconTokenLogic { - let networkManager: ServiceType - - init(networkManager: ServiceType) { - self.networkManager = networkManager - } - - func retrieveToken() async throws -> FindingFalcon.RetrieveToken.Response { - return try await networkManager.retrieveToken().value - } -} diff --git a/FindingFalcon/FoundFalcon/FoundFalconPresenter.swift b/FindingFalcon/FoundFalcon/FoundFalconPresenter.swift deleted file mode 100644 index b40fc41..0000000 --- a/FindingFalcon/FoundFalcon/FoundFalconPresenter.swift +++ /dev/null @@ -1,29 +0,0 @@ -// -// FoundFalconPresenter.swift -// FindingFalcon -// -// Created by Pallab Maiti on 10/03/24. -// - -import Foundation - -protocol FoundFalconPresentationLogic { - func presentFalcon(_ response: FoundFalcon.Find.Response) - func presentTotalTimeTaken(_ response: FoundFalcon.TotalTimeTaken.Response) -} - -final class FoundFalconPresenter: FoundFalconPresentationLogic { - var view: FoundFalconDisplayLogic? - - func presentFalcon(_ response: FoundFalcon.Find.Response) { - if response.status == "success" { - view?.displaySuccess(viewModel: FoundFalcon.Find.ViewModelSuccess(planetName: response.planetName)) - } else { - view?.displayFailure(viewModel: FoundFalcon.Find.ViewModelFailure()) - } - } - - func presentTotalTimeTaken(_ response: FoundFalcon.TotalTimeTaken.Response) { - view?.displayTotalTimeTaken(viewModel: FoundFalcon.TotalTimeTaken.ViewModel(totalTimeTaken: response.totalTimeTaken)) - } -} diff --git a/FindingFalconTests/FindFalcon/Mocks/FindFalconDisplayMock.swift b/FindingFalconTests/FindFalcon/Mocks/FindFalconDisplayMock.swift deleted file mode 100644 index c90789e..0000000 --- a/FindingFalconTests/FindFalcon/Mocks/FindFalconDisplayMock.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// FindFalconDisplayMock.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import Foundation -@testable import FindingFalcon - -class FindFalconDisplayMock: FindFalconDisplayLogic { - var displayPlanetsAndVehiclesCalled = false - var displayTokenCalled = false - var displayPlanetsAndVehiclesViewModel: FindingFalcon.LoadPlanetsAndVehicles.ViewModel? - var displayTokenViewModel: FindingFalcon.RetrieveToken.ViewModel? - - func displayPlanetsAndVehicles(viewModel: FindingFalcon.LoadPlanetsAndVehicles.ViewModel) { - displayPlanetsAndVehiclesCalled = true - displayPlanetsAndVehiclesViewModel = viewModel - } - - func displayToken(viewModel: FindingFalcon.RetrieveToken.ViewModel) { - displayTokenCalled = true - displayTokenViewModel = viewModel - } -} diff --git a/FindingFalconTests/FindFalcon/Mocks/FindFalconModelMocks.swift b/FindingFalconTests/FindFalcon/Mocks/FindFalconModelMocks.swift deleted file mode 100644 index 5610e14..0000000 --- a/FindingFalconTests/FindFalcon/Mocks/FindFalconModelMocks.swift +++ /dev/null @@ -1,70 +0,0 @@ -// -// FindFalconModelMocks.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import Foundation -@testable import FindingFalcon - -extension FindingFalcon.LoadVehicles.Response: AnyMockable { - public static func mockAny() -> FindingFalcon.LoadVehicles.Response { - return .mockRandom() - } - - static func mockRandom( - name: String = .mockAny(), - totalNo: Int = .mockAny(), - maxDistance: Int = .mockAny(), - speed: Int = .mockAny() - ) -> FindingFalcon.LoadVehicles.Response { - return FindingFalcon.LoadVehicles.Response( - name: name, - totalNo: totalNo, - maxDistance: maxDistance, - speed: speed - ) - } -} - -extension FindingFalcon.LoadPlanets.Response: AnyMockable { - public static func mockAny() -> FindingFalcon.LoadPlanets.Response { - return mockRandom() - } - - static func mockRandom( - name: String = .mockAny(), - distance: Int = .mockAny() - ) -> FindingFalcon.LoadPlanets.Response { - return FindingFalcon.LoadPlanets.Response( - name: name, - distance: distance - ) - } -} - -extension FindingFalcon.RetrieveToken.Response: AnyMockable { - public static func mockAny() -> FindingFalcon.RetrieveToken.Response { - return mockRandom() - } - - static func mockRandom( - token: String = .mockAny() - ) -> FindingFalcon.RetrieveToken.Response { - return FindingFalcon.RetrieveToken.Response(token: token) - } -} - -extension FindingFalcon.LoadPlanetsAndVehicles.Response: AnyMockable { - public static func mockAny() -> FindingFalcon.LoadPlanetsAndVehicles.Response { - return mockRandom() - } - - static func mockRandom( - planets: [FindingFalcon.LoadPlanets.Response] = [.mockAny()], - vehicles: [FindingFalcon.LoadVehicles.Response] = [.mockAny()] - ) -> FindingFalcon.LoadPlanetsAndVehicles.Response { - return FindingFalcon.LoadPlanetsAndVehicles.Response(planets: planets, vehicles: vehicles) - } -} diff --git a/FindingFalconTests/FindFalcon/Mocks/FindFalconPlanetsAndVehiclesWorkerMock.swift b/FindingFalconTests/FindFalcon/Mocks/FindFalconPlanetsAndVehiclesWorkerMock.swift deleted file mode 100644 index 2fb6728..0000000 --- a/FindingFalconTests/FindFalcon/Mocks/FindFalconPlanetsAndVehiclesWorkerMock.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// FindFalconPlanetsAndVehiclesWorkerMock.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import Foundation -@testable import FindingFalcon - -class FindFalconPlanetsAndVehiclesWorkerMock: FindFalconPlanetsAndVehiclesLogic { - let response: FindingFalcon.LoadPlanetsAndVehicles.Response - - init(response: FindingFalcon.LoadPlanetsAndVehicles.Response = .mockAny()) { - self.response = response - } - - func getPlanetsAndVehicles() async throws -> FindingFalcon.LoadPlanetsAndVehicles.Response { - return response - } -} diff --git a/FindingFalconTests/FindFalcon/Mocks/FindFalconPresenterMock.swift b/FindingFalconTests/FindFalcon/Mocks/FindFalconPresenterMock.swift deleted file mode 100644 index 807e22c..0000000 --- a/FindingFalconTests/FindFalcon/Mocks/FindFalconPresenterMock.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// FindFalconPresenterMock.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import Foundation -@testable import FindingFalcon - -class FindFalconPresenterMock: FindFalconPresentationLogic { - var presentPlanetsAndVehiclesCalled = false - var presentTokenCalled = false - var presentPlanetsAndVehiclesResponse: FindingFalcon.LoadPlanetsAndVehicles.Response? - var presentTokenResponse: FindingFalcon.RetrieveToken.Response? - - func presentPlanetsAndVehicles(_ response: FindingFalcon.LoadPlanetsAndVehicles.Response) { - presentPlanetsAndVehiclesCalled = true - presentPlanetsAndVehiclesResponse = response - } - - func presentToken(_ response: FindingFalcon.RetrieveToken.Response) { - presentTokenCalled = true - presentTokenResponse = response - } -} diff --git a/FindingFalconTests/FindFalcon/Mocks/FindFalconTokenWorkerMock.swift b/FindingFalconTests/FindFalcon/Mocks/FindFalconTokenWorkerMock.swift deleted file mode 100644 index 6653c5e..0000000 --- a/FindingFalconTests/FindFalcon/Mocks/FindFalconTokenWorkerMock.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// FindFalconTokenWorkerMock.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import Foundation -@testable import FindingFalcon - -class FindFalconTokenWorkerMock: FindFalconTokenLogic { - let response: FindingFalcon.RetrieveToken.Response - - init(response: FindingFalcon.RetrieveToken.Response = .mockAny()) { - self.response = response - } - - func retrieveToken() async throws -> FindingFalcon.RetrieveToken.Response { - return response - } -} diff --git a/FindingFalconTests/FoundFalcon/FoundFalconWorkerTests.swift b/FindingFalconTests/FoundFalcon/FoundFalconWorkerTests.swift deleted file mode 100644 index 7834d01..0000000 --- a/FindingFalconTests/FoundFalcon/FoundFalconWorkerTests.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// FoundFalconWorkerTests.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import XCTest -@testable import FindingFalcon - -final class FoundFalconWorkerTests: XCTestCase { - func test_findFalcon() async throws { - let value: FoundFalcon.Find.Response = .mockAny() - let networkManager = NetworkManagerMock( - findFalconResponse: APIResponse( - value: value, needsRetry: false - ) - ) - let worker = FoundFalconWorker(networkManager: networkManager) - - let response = try await worker.findFalcon(.mockAny()) - XCTAssertEqual(value, response) - } -} diff --git a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconModelMocks.swift b/FindingFalconTests/FoundFalcon/Mocks/FoundFalconModelMocks.swift deleted file mode 100644 index 043dbf2..0000000 --- a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconModelMocks.swift +++ /dev/null @@ -1,51 +0,0 @@ -// -// FoundFalconModelMocks.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import Foundation -@testable import FindingFalcon - -extension FoundFalcon.Find.Response: AnyMockable { - public static func mockAny() -> FoundFalcon.Find.Response { - return mockRandom() - } - - static func mockRandom( - planetName: String? = .mockAny(), - status: String = .mockAny() - ) -> FoundFalcon.Find.Response { - return FoundFalcon.Find.Response( - planetName: planetName, - status: status - ) - } -} - -extension FoundFalcon.Find.Request: AnyMockable { - public static func mockAny() -> FoundFalcon.Find.Request { - return mockRandom() - } - - static func mockRandom( - token: String = .mockAny(), - planetNames: [String] = [.mockAny()], - vehicleNames: [String] = [.mockAny()] - ) -> FoundFalcon.Find.Request { - return FoundFalcon.Find.Request(token: token, planetNames: planetNames, vehicleNames: vehicleNames) - } -} - -extension FoundFalcon.TotalTimeTaken.Response: AnyMockable { - public static func mockAny() -> FoundFalcon.TotalTimeTaken.Response { - return mockRandom() - } - - static func mockRandom( - totalTimeTaken: Int = .mockAny() - ) -> FoundFalcon.TotalTimeTaken.Response { - return FoundFalcon.TotalTimeTaken.Response(totalTimeTaken: totalTimeTaken) - } -} diff --git a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconPresenterMock.swift b/FindingFalconTests/FoundFalcon/Mocks/FoundFalconPresenterMock.swift deleted file mode 100644 index 79a7265..0000000 --- a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconPresenterMock.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// FoundFalconPresenterMock.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import Foundation -@testable import FindingFalcon - -class FoundFalconPresenterMock: FoundFalconPresentationLogic { - var presentFalconCalled = false - var presentTotalTimeTakenCalled = false - var presentFalconResponse: FoundFalcon.Find.Response? - var presentTotalTimeTakenResponse: FoundFalcon.TotalTimeTaken.Response? - - func presentFalcon(_ response: FoundFalcon.Find.Response) { - presentFalconCalled = true - presentFalconResponse = response - } - - func presentTotalTimeTaken(_ response: FoundFalcon.TotalTimeTaken.Response) { - presentTotalTimeTakenCalled = true - presentTotalTimeTakenResponse = response - } -} diff --git a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconWorkerMock.swift b/FindingFalconTests/FoundFalcon/Mocks/FoundFalconWorkerMock.swift deleted file mode 100644 index b9890a5..0000000 --- a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconWorkerMock.swift +++ /dev/null @@ -1,22 +0,0 @@ -// -// FoundFalconWorkerMock.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import Foundation -@testable import FindingFalcon - -class FoundFalconWorkerMock: FoundFalconLogic { - - let response: FoundFalcon.Find.Response - - init(response: FoundFalcon.Find.Response = .mockAny()) { - self.response = response - } - - func findFalcon(_ request: FoundFalcon.Find.Request) async throws -> FoundFalcon.Find.Response { - return response - } -} diff --git a/FindingFalconTests/Mocks/NetworkManagerMock.swift b/FindingFalconTests/Mocks/NetworkManagerMock.swift deleted file mode 100644 index 3c44b59..0000000 --- a/FindingFalconTests/Mocks/NetworkManagerMock.swift +++ /dev/null @@ -1,46 +0,0 @@ -// -// NetworkManagerMock.swift -// FindingFalconTests -// -// Created by Pallab Maiti on 15/03/24. -// - -import Foundation -@testable import FindingFalcon - -class NetworkManagerMock: ServiceType { - let findFalconResponse: APIResponse - let retrieveTokenResponse: APIResponse - let getVehiclesResponse: APIResponse<[FindingFalcon.LoadVehicles.Response]> - let getPlanetsResponse: APIResponse<[FindingFalcon.LoadPlanets.Response]> - - init( - findFalconResponse: APIResponse = APIResponse(value: .mockAny(), needsRetry: false), - retrieveTokenResponse: APIResponse = APIResponse(value: .mockAny(), needsRetry: false), - getVehiclesResponse: APIResponse<[FindingFalcon.LoadVehicles.Response]> = APIResponse(value: [.mockAny()], needsRetry: false), - getPlanetsResponse: APIResponse<[FindingFalcon.LoadPlanets.Response]> = APIResponse(value: [.mockAny()], needsRetry: false) - ) { - self.findFalconResponse = findFalconResponse - self.retrieveTokenResponse = retrieveTokenResponse - self.getVehiclesResponse = getVehiclesResponse - self.getPlanetsResponse = getPlanetsResponse - } - - func findFalcon(_ request: FoundFalcon.Find.Request) async throws -> APIResponse { - return findFalconResponse - } - - func retrieveToken() async throws -> APIResponse { - return retrieveTokenResponse - } - - func getVehicles() async throws -> APIResponse<[FindingFalcon.LoadVehicles.Response]> { - return getVehiclesResponse - } - - func getPlanets() async throws -> APIResponse<[FindingFalcon.LoadPlanets.Response]> { - return getPlanetsResponse - } - - -} diff --git a/FindingFalcon.xcodeproj/project.pbxproj b/FindingFalcone.xcodeproj/project.pbxproj similarity index 58% rename from FindingFalcon.xcodeproj/project.pbxproj rename to FindingFalcone.xcodeproj/project.pbxproj index bc0d44c..73b7c9c 100644 --- a/FindingFalcon.xcodeproj/project.pbxproj +++ b/FindingFalcone.xcodeproj/project.pbxproj @@ -7,14 +7,14 @@ objects = { /* Begin PBXBuildFile section */ - ED5C880E2B9CE40D00D97AE3 /* FindFalconRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C880D2B9CE40D00D97AE3 /* FindFalconRouter.swift */; }; - ED5C88112B9D67C900D97AE3 /* FoundFalconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88102B9D67C900D97AE3 /* FoundFalconView.swift */; }; - ED5C88132B9D68BE00D97AE3 /* FoundFalconInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88122B9D68BE00D97AE3 /* FoundFalconInteractor.swift */; }; - ED5C88152B9D693200D97AE3 /* FoundFalconConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88142B9D693200D97AE3 /* FoundFalconConfigurator.swift */; }; - ED5C88172B9D698700D97AE3 /* FoundFalconPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88162B9D698700D97AE3 /* FoundFalconPresenter.swift */; }; - ED5C88192B9D6D9500D97AE3 /* FoundFalconModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88182B9D6D9500D97AE3 /* FoundFalconModel.swift */; }; - ED5C881E2B9DBA0A00D97AE3 /* FoundFalconDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C881D2B9DBA0A00D97AE3 /* FoundFalconDataStore.swift */; }; - ED5C88202BA1881800D97AE3 /* FindFalconDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C881F2BA1881800D97AE3 /* FindFalconDataModel.swift */; }; + ED5C880E2B9CE40D00D97AE3 /* SelectDestinationsRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C880D2B9CE40D00D97AE3 /* SelectDestinationsRouter.swift */; }; + ED5C88112B9D67C900D97AE3 /* FindFalconeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88102B9D67C900D97AE3 /* FindFalconeView.swift */; }; + ED5C88132B9D68BE00D97AE3 /* FindFalconeInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88122B9D68BE00D97AE3 /* FindFalconeInteractor.swift */; }; + ED5C88152B9D693200D97AE3 /* FindFalconeConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88142B9D693200D97AE3 /* FindFalconeConfigurator.swift */; }; + ED5C88172B9D698700D97AE3 /* FindFalconePresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88162B9D698700D97AE3 /* FindFalconePresenter.swift */; }; + ED5C88192B9D6D9500D97AE3 /* FindFalconeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88182B9D6D9500D97AE3 /* FindFalconeModel.swift */; }; + ED5C881E2B9DBA0A00D97AE3 /* FindFalconeDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C881D2B9DBA0A00D97AE3 /* FindFalconeDataStore.swift */; }; + ED5C88202BA1881800D97AE3 /* SelectDestinationsDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C881F2BA1881800D97AE3 /* SelectDestinationsDataModel.swift */; }; ED5C88232BA1FC4000D97AE3 /* ModelMocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88222BA1FC4000D97AE3 /* ModelMocks.swift */; }; ED5C88262BA1FE3500D97AE3 /* Mocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88252BA1FE3500D97AE3 /* Mocks.swift */; }; ED5C88282BA204B300D97AE3 /* APIClientMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88272BA204B300D97AE3 /* APIClientMock.swift */; }; @@ -22,31 +22,31 @@ ED5C882D2BA3389500D97AE3 /* ServerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C882C2BA3389500D97AE3 /* ServerMock.swift */; }; ED5C882F2BA339AA00D97AE3 /* URLSessionClientTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C882E2BA339AA00D97AE3 /* URLSessionClientTests.swift */; }; ED5C88312BA3520A00D97AE3 /* ResponseHandlerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88302BA3520A00D97AE3 /* ResponseHandlerTests.swift */; }; - ED5C88352BA42AA700D97AE3 /* FoundFalconPresenterMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88342BA42AA700D97AE3 /* FoundFalconPresenterMock.swift */; }; - ED5C88372BA42BED00D97AE3 /* FoundFalconInteractorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88362BA42BED00D97AE3 /* FoundFalconInteractorTests.swift */; }; - ED5C883A2BA42E4100D97AE3 /* FoundFalconWorkerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88392BA42E4100D97AE3 /* FoundFalconWorkerMock.swift */; }; - ED5C883C2BA43AF600D97AE3 /* FoundFalconDisplayMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C883B2BA43AF600D97AE3 /* FoundFalconDisplayMock.swift */; }; - ED5C883E2BA43BDA00D97AE3 /* FoundFalconPresenterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C883D2BA43BDA00D97AE3 /* FoundFalconPresenterTests.swift */; }; + ED5C88352BA42AA700D97AE3 /* FindFalconePresenterMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88342BA42AA700D97AE3 /* FindFalconePresenterMock.swift */; }; + ED5C88372BA42BED00D97AE3 /* FindFalconeInteractorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88362BA42BED00D97AE3 /* FindFalconeInteractorTests.swift */; }; + ED5C883A2BA42E4100D97AE3 /* FindFalconeWorkerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88392BA42E4100D97AE3 /* FindFalconeWorkerMock.swift */; }; + ED5C883C2BA43AF600D97AE3 /* FindFalconeDisplayMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C883B2BA43AF600D97AE3 /* FindFalconeDisplayMock.swift */; }; + ED5C883E2BA43BDA00D97AE3 /* FindFalconePresenterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C883D2BA43BDA00D97AE3 /* FindFalconePresenterTests.swift */; }; ED5C88402BA4410200D97AE3 /* NetworkManagerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C883F2BA4410200D97AE3 /* NetworkManagerMock.swift */; }; - ED5C88422BA44C4E00D97AE3 /* FoundFalconWorkerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88412BA44C4E00D97AE3 /* FoundFalconWorkerTests.swift */; }; - ED5C88442BA44E7900D97AE3 /* FoundFalconInteractorMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88432BA44E7900D97AE3 /* FoundFalconInteractorMock.swift */; }; - ED5C88462BA44EF500D97AE3 /* FoundFalconViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88452BA44EF500D97AE3 /* FoundFalconViewTests.swift */; }; - ED5C88482BA4507900D97AE3 /* FoundFalconModelMocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88472BA4507900D97AE3 /* FoundFalconModelMocks.swift */; }; - ED5C884B2BA4514D00D97AE3 /* FindFalconModelMocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C884A2BA4514D00D97AE3 /* FindFalconModelMocks.swift */; }; - ED5C884E2BA47D0F00D97AE3 /* FindFalconDisplayMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C884D2BA47D0F00D97AE3 /* FindFalconDisplayMock.swift */; }; - ED5C88502BA47D2200D97AE3 /* FindFalconInteractorMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C884F2BA47D2200D97AE3 /* FindFalconInteractorMock.swift */; }; - ED5C88522BA47E0B00D97AE3 /* FindFalconPresenterMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88512BA47E0B00D97AE3 /* FindFalconPresenterMock.swift */; }; - ED5C88542BA47E3100D97AE3 /* FindFalconTokenWorkerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88532BA47E3100D97AE3 /* FindFalconTokenWorkerMock.swift */; }; - ED5C88562BA47E4100D97AE3 /* FindFalconPlanetsAndVehiclesWorkerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88552BA47E4100D97AE3 /* FindFalconPlanetsAndVehiclesWorkerMock.swift */; }; - ED5C88582BA4823500D97AE3 /* FindFalconInteractorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88572BA4823500D97AE3 /* FindFalconInteractorTests.swift */; }; - ED5C885A2BA4824C00D97AE3 /* FindFalconPresenterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88592BA4824C00D97AE3 /* FindFalconPresenterTests.swift */; }; - ED5C885C2BA4826900D97AE3 /* FindFalconViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C885B2BA4826900D97AE3 /* FindFalconViewTests.swift */; }; + ED5C88422BA44C4E00D97AE3 /* FindFalconeWorkerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88412BA44C4E00D97AE3 /* FindFalconeWorkerTests.swift */; }; + ED5C88442BA44E7900D97AE3 /* FindFalconeInteractorMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88432BA44E7900D97AE3 /* FindFalconeInteractorMock.swift */; }; + ED5C88462BA44EF500D97AE3 /* FindFalconeViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88452BA44EF500D97AE3 /* FindFalconeViewTests.swift */; }; + ED5C88482BA4507900D97AE3 /* FindFalconeModelMocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88472BA4507900D97AE3 /* FindFalconeModelMocks.swift */; }; + ED5C884B2BA4514D00D97AE3 /* SelectDestinationsModelMocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C884A2BA4514D00D97AE3 /* SelectDestinationsModelMocks.swift */; }; + ED5C884E2BA47D0F00D97AE3 /* SelectDestinationsDisplayMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C884D2BA47D0F00D97AE3 /* SelectDestinationsDisplayMock.swift */; }; + ED5C88502BA47D2200D97AE3 /* SelectDestinationsInteractorMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C884F2BA47D2200D97AE3 /* SelectDestinationsInteractorMock.swift */; }; + ED5C88522BA47E0B00D97AE3 /* SelectDestinationsPresenterMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88512BA47E0B00D97AE3 /* SelectDestinationsPresenterMock.swift */; }; + ED5C88542BA47E3100D97AE3 /* TokenWorkerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88532BA47E3100D97AE3 /* TokenWorkerMock.swift */; }; + ED5C88562BA47E4100D97AE3 /* PlanetsAndVehiclesWorkerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88552BA47E4100D97AE3 /* PlanetsAndVehiclesWorkerMock.swift */; }; + ED5C88582BA4823500D97AE3 /* SelectDestinationsInteractorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88572BA4823500D97AE3 /* SelectDestinationsInteractorTests.swift */; }; + ED5C885A2BA4824C00D97AE3 /* SelectDestinationsPresenterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88592BA4824C00D97AE3 /* SelectDestinationsPresenterTests.swift */; }; + ED5C885C2BA4826900D97AE3 /* SelectDestinationsViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C885B2BA4826900D97AE3 /* SelectDestinationsViewTests.swift */; }; ED5C885E2BA4828200D97AE3 /* FindFalconTokenWorkerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C885D2BA4828200D97AE3 /* FindFalconTokenWorkerTests.swift */; }; ED5C88602BA4829100D97AE3 /* FindFalconPlanetsAndVehiclesWorkerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C885F2BA4829100D97AE3 /* FindFalconPlanetsAndVehiclesWorkerTests.swift */; }; - ED5C88622BA4A58C00D97AE3 /* FindFalconDataModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88612BA4A58C00D97AE3 /* FindFalconDataModelTests.swift */; }; - ED5C88642BA4B79800D97AE3 /* FindFalconDataStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88632BA4B79800D97AE3 /* FindFalconDataStoreTests.swift */; }; - EDE92D832B95FEAC00C6A055 /* FindingFalconApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92D822B95FEAC00C6A055 /* FindingFalconApp.swift */; }; - EDE92D852B95FEAC00C6A055 /* FindFalconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92D842B95FEAC00C6A055 /* FindFalconView.swift */; }; + ED5C88622BA4A58C00D97AE3 /* SelectDestinationsDataModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88612BA4A58C00D97AE3 /* SelectDestinationsDataModelTests.swift */; }; + ED5C88642BA4B79800D97AE3 /* SelectDestinationsDataStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5C88632BA4B79800D97AE3 /* SelectDestinationsDataStoreTests.swift */; }; + EDE92D832B95FEAC00C6A055 /* FindingFalconeApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92D822B95FEAC00C6A055 /* FindingFalconeApp.swift */; }; + EDE92D852B95FEAC00C6A055 /* SelectDestinationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92D842B95FEAC00C6A055 /* SelectDestinationsView.swift */; }; EDE92D872B95FEAF00C6A055 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EDE92D862B95FEAF00C6A055 /* Assets.xcassets */; }; EDE92D8A2B95FEAF00C6A055 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EDE92D892B95FEAF00C6A055 /* Preview Assets.xcassets */; }; EDE92DAE2B95FF2F00C6A055 /* API.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DAD2B95FF2F00C6A055 /* API.swift */; }; @@ -58,18 +58,18 @@ EDE92DBB2B961DB100C6A055 /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DBA2B961DB100C6A055 /* Token.swift */; }; EDE92DBF2B961E8100C6A055 /* APIResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DBE2B961E8100C6A055 /* APIResponse.swift */; }; EDE92DC12B961EB900C6A055 /* APIError.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DC02B961EB900C6A055 /* APIError.swift */; }; - EDE92DC32B9634F600C6A055 /* FindFalconInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DC22B9634F600C6A055 /* FindFalconInteractor.swift */; }; - EDE92DC82B96383700C6A055 /* FindFalconPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DC72B96383700C6A055 /* FindFalconPresenter.swift */; }; - EDE92DCC2B96D19F00C6A055 /* FoundFalconWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DCB2B96D19F00C6A055 /* FoundFalconWorker.swift */; }; - EDE92DCE2B96EA2000C6A055 /* FindFalconConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DCD2B96EA2000C6A055 /* FindFalconConfigurator.swift */; }; - EDE92DD52B96ECB800C6A055 /* FindFalconTokenWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DD42B96ECB800C6A055 /* FindFalconTokenWorker.swift */; }; - EDE92DD82B96F9E500C6A055 /* FindFalconDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DD72B96F9E500C6A055 /* FindFalconDataStore.swift */; }; - EDE92DDA2B96FBA500C6A055 /* FindFalconModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DD92B96FBA500C6A055 /* FindFalconModel.swift */; }; - EDE92DE02B97216000C6A055 /* SelectVehicleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DDF2B97216000C6A055 /* SelectVehicleView.swift */; }; - EDE92DE22B9757B400C6A055 /* DestinationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DE12B9757B400C6A055 /* DestinationView.swift */; }; - EDE92DE42B9779AF00C6A055 /* FindFalconPlanetsAndVehiclesWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DE32B9779AF00C6A055 /* FindFalconPlanetsAndVehiclesWorker.swift */; }; + EDE92DC32B9634F600C6A055 /* SelectDestinationsInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DC22B9634F600C6A055 /* SelectDestinationsInteractor.swift */; }; + EDE92DC82B96383700C6A055 /* SelectDestinationsPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DC72B96383700C6A055 /* SelectDestinationsPresenter.swift */; }; + EDE92DCC2B96D19F00C6A055 /* FindFalconeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DCB2B96D19F00C6A055 /* FindFalconeWorker.swift */; }; + EDE92DCE2B96EA2000C6A055 /* SelectDestinationsConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DCD2B96EA2000C6A055 /* SelectDestinationsConfigurator.swift */; }; + EDE92DD52B96ECB800C6A055 /* TokenWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DD42B96ECB800C6A055 /* TokenWorker.swift */; }; + EDE92DD82B96F9E500C6A055 /* SelectDestinationsDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DD72B96F9E500C6A055 /* SelectDestinationsDataStore.swift */; }; + EDE92DDA2B96FBA500C6A055 /* SelectDestinationsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DD92B96FBA500C6A055 /* SelectDestinationsModel.swift */; }; + EDE92DE02B97216000C6A055 /* VehicleSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DDF2B97216000C6A055 /* VehicleSelectionView.swift */; }; + EDE92DE22B9757B400C6A055 /* DestinationSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DE12B9757B400C6A055 /* DestinationSelectionView.swift */; }; + EDE92DE42B9779AF00C6A055 /* PlanetsAndVehiclesWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92DE32B9779AF00C6A055 /* PlanetsAndVehiclesWorker.swift */; }; EDFE181D2BA5A77C0085A0E8 /* DestinationViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFE181C2BA5A77C0085A0E8 /* DestinationViewTests.swift */; }; - EDFE18252BA5C3140085A0E8 /* FindFalconInteractorErrorMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFE18242BA5C3140085A0E8 /* FindFalconInteractorErrorMock.swift */; }; + EDFE18252BA5C3140085A0E8 /* SelectDestinationsInteractorErrorMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFE18242BA5C3140085A0E8 /* SelectDestinationsInteractorErrorMock.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -83,14 +83,14 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - ED5C880D2B9CE40D00D97AE3 /* FindFalconRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconRouter.swift; sourceTree = ""; }; - ED5C88102B9D67C900D97AE3 /* FoundFalconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconView.swift; sourceTree = ""; }; - ED5C88122B9D68BE00D97AE3 /* FoundFalconInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconInteractor.swift; sourceTree = ""; }; - ED5C88142B9D693200D97AE3 /* FoundFalconConfigurator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconConfigurator.swift; sourceTree = ""; }; - ED5C88162B9D698700D97AE3 /* FoundFalconPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconPresenter.swift; sourceTree = ""; }; - ED5C88182B9D6D9500D97AE3 /* FoundFalconModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconModel.swift; sourceTree = ""; }; - ED5C881D2B9DBA0A00D97AE3 /* FoundFalconDataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconDataStore.swift; sourceTree = ""; }; - ED5C881F2BA1881800D97AE3 /* FindFalconDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconDataModel.swift; sourceTree = ""; }; + ED5C880D2B9CE40D00D97AE3 /* SelectDestinationsRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsRouter.swift; sourceTree = ""; }; + ED5C88102B9D67C900D97AE3 /* FindFalconeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeView.swift; sourceTree = ""; }; + ED5C88122B9D68BE00D97AE3 /* FindFalconeInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeInteractor.swift; sourceTree = ""; }; + ED5C88142B9D693200D97AE3 /* FindFalconeConfigurator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeConfigurator.swift; sourceTree = ""; }; + ED5C88162B9D698700D97AE3 /* FindFalconePresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconePresenter.swift; sourceTree = ""; }; + ED5C88182B9D6D9500D97AE3 /* FindFalconeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeModel.swift; sourceTree = ""; }; + ED5C881D2B9DBA0A00D97AE3 /* FindFalconeDataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeDataStore.swift; sourceTree = ""; }; + ED5C881F2BA1881800D97AE3 /* SelectDestinationsDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsDataModel.swift; sourceTree = ""; }; ED5C88222BA1FC4000D97AE3 /* ModelMocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModelMocks.swift; sourceTree = ""; }; ED5C88252BA1FE3500D97AE3 /* Mocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mocks.swift; sourceTree = ""; }; ED5C88272BA204B300D97AE3 /* APIClientMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIClientMock.swift; sourceTree = ""; }; @@ -98,35 +98,35 @@ ED5C882C2BA3389500D97AE3 /* ServerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerMock.swift; sourceTree = ""; }; ED5C882E2BA339AA00D97AE3 /* URLSessionClientTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSessionClientTests.swift; sourceTree = ""; }; ED5C88302BA3520A00D97AE3 /* ResponseHandlerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResponseHandlerTests.swift; sourceTree = ""; }; - ED5C88342BA42AA700D97AE3 /* FoundFalconPresenterMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconPresenterMock.swift; sourceTree = ""; }; - ED5C88362BA42BED00D97AE3 /* FoundFalconInteractorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconInteractorTests.swift; sourceTree = ""; }; - ED5C88392BA42E4100D97AE3 /* FoundFalconWorkerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconWorkerMock.swift; sourceTree = ""; }; - ED5C883B2BA43AF600D97AE3 /* FoundFalconDisplayMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconDisplayMock.swift; sourceTree = ""; }; - ED5C883D2BA43BDA00D97AE3 /* FoundFalconPresenterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconPresenterTests.swift; sourceTree = ""; }; + ED5C88342BA42AA700D97AE3 /* FindFalconePresenterMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconePresenterMock.swift; sourceTree = ""; }; + ED5C88362BA42BED00D97AE3 /* FindFalconeInteractorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeInteractorTests.swift; sourceTree = ""; }; + ED5C88392BA42E4100D97AE3 /* FindFalconeWorkerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeWorkerMock.swift; sourceTree = ""; }; + ED5C883B2BA43AF600D97AE3 /* FindFalconeDisplayMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeDisplayMock.swift; sourceTree = ""; }; + ED5C883D2BA43BDA00D97AE3 /* FindFalconePresenterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconePresenterTests.swift; sourceTree = ""; }; ED5C883F2BA4410200D97AE3 /* NetworkManagerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManagerMock.swift; sourceTree = ""; }; - ED5C88412BA44C4E00D97AE3 /* FoundFalconWorkerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconWorkerTests.swift; sourceTree = ""; }; - ED5C88432BA44E7900D97AE3 /* FoundFalconInteractorMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconInteractorMock.swift; sourceTree = ""; }; - ED5C88452BA44EF500D97AE3 /* FoundFalconViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconViewTests.swift; sourceTree = ""; }; - ED5C88472BA4507900D97AE3 /* FoundFalconModelMocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconModelMocks.swift; sourceTree = ""; }; - ED5C884A2BA4514D00D97AE3 /* FindFalconModelMocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconModelMocks.swift; sourceTree = ""; }; - ED5C884D2BA47D0F00D97AE3 /* FindFalconDisplayMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconDisplayMock.swift; sourceTree = ""; }; - ED5C884F2BA47D2200D97AE3 /* FindFalconInteractorMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconInteractorMock.swift; sourceTree = ""; }; - ED5C88512BA47E0B00D97AE3 /* FindFalconPresenterMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconPresenterMock.swift; sourceTree = ""; }; - ED5C88532BA47E3100D97AE3 /* FindFalconTokenWorkerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconTokenWorkerMock.swift; sourceTree = ""; }; - ED5C88552BA47E4100D97AE3 /* FindFalconPlanetsAndVehiclesWorkerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconPlanetsAndVehiclesWorkerMock.swift; sourceTree = ""; }; - ED5C88572BA4823500D97AE3 /* FindFalconInteractorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconInteractorTests.swift; sourceTree = ""; }; - ED5C88592BA4824C00D97AE3 /* FindFalconPresenterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconPresenterTests.swift; sourceTree = ""; }; - ED5C885B2BA4826900D97AE3 /* FindFalconViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconViewTests.swift; sourceTree = ""; }; + ED5C88412BA44C4E00D97AE3 /* FindFalconeWorkerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeWorkerTests.swift; sourceTree = ""; }; + ED5C88432BA44E7900D97AE3 /* FindFalconeInteractorMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeInteractorMock.swift; sourceTree = ""; }; + ED5C88452BA44EF500D97AE3 /* FindFalconeViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeViewTests.swift; sourceTree = ""; }; + ED5C88472BA4507900D97AE3 /* FindFalconeModelMocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeModelMocks.swift; sourceTree = ""; }; + ED5C884A2BA4514D00D97AE3 /* SelectDestinationsModelMocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsModelMocks.swift; sourceTree = ""; }; + ED5C884D2BA47D0F00D97AE3 /* SelectDestinationsDisplayMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsDisplayMock.swift; sourceTree = ""; }; + ED5C884F2BA47D2200D97AE3 /* SelectDestinationsInteractorMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsInteractorMock.swift; sourceTree = ""; }; + ED5C88512BA47E0B00D97AE3 /* SelectDestinationsPresenterMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsPresenterMock.swift; sourceTree = ""; }; + ED5C88532BA47E3100D97AE3 /* TokenWorkerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TokenWorkerMock.swift; sourceTree = ""; }; + ED5C88552BA47E4100D97AE3 /* PlanetsAndVehiclesWorkerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlanetsAndVehiclesWorkerMock.swift; sourceTree = ""; }; + ED5C88572BA4823500D97AE3 /* SelectDestinationsInteractorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsInteractorTests.swift; sourceTree = ""; }; + ED5C88592BA4824C00D97AE3 /* SelectDestinationsPresenterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsPresenterTests.swift; sourceTree = ""; }; + ED5C885B2BA4826900D97AE3 /* SelectDestinationsViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsViewTests.swift; sourceTree = ""; }; ED5C885D2BA4828200D97AE3 /* FindFalconTokenWorkerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconTokenWorkerTests.swift; sourceTree = ""; }; ED5C885F2BA4829100D97AE3 /* FindFalconPlanetsAndVehiclesWorkerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconPlanetsAndVehiclesWorkerTests.swift; sourceTree = ""; }; - ED5C88612BA4A58C00D97AE3 /* FindFalconDataModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconDataModelTests.swift; sourceTree = ""; }; - ED5C88632BA4B79800D97AE3 /* FindFalconDataStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconDataStoreTests.swift; sourceTree = ""; }; - EDE92D7F2B95FEAC00C6A055 /* FindingFalcon.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FindingFalcon.app; sourceTree = BUILT_PRODUCTS_DIR; }; - EDE92D822B95FEAC00C6A055 /* FindingFalconApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindingFalconApp.swift; sourceTree = ""; }; - EDE92D842B95FEAC00C6A055 /* FindFalconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconView.swift; sourceTree = ""; }; + ED5C88612BA4A58C00D97AE3 /* SelectDestinationsDataModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsDataModelTests.swift; sourceTree = ""; }; + ED5C88632BA4B79800D97AE3 /* SelectDestinationsDataStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsDataStoreTests.swift; sourceTree = ""; }; + EDE92D7F2B95FEAC00C6A055 /* FindingFalcone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FindingFalcone.app; sourceTree = BUILT_PRODUCTS_DIR; }; + EDE92D822B95FEAC00C6A055 /* FindingFalconeApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindingFalconeApp.swift; sourceTree = ""; }; + EDE92D842B95FEAC00C6A055 /* SelectDestinationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsView.swift; sourceTree = ""; }; EDE92D862B95FEAF00C6A055 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; EDE92D892B95FEAF00C6A055 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; - EDE92D8F2B95FEAF00C6A055 /* FindingFalconTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FindingFalconTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + EDE92D8F2B95FEAF00C6A055 /* FindingFalconeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FindingFalconeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; EDE92DAD2B95FF2F00C6A055 /* API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = API.swift; sourceTree = ""; }; EDE92DAF2B96023400C6A055 /* NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; EDE92DB12B96026000C6A055 /* APIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIClient.swift; sourceTree = ""; }; @@ -136,18 +136,18 @@ EDE92DBA2B961DB100C6A055 /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; EDE92DBE2B961E8100C6A055 /* APIResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIResponse.swift; sourceTree = ""; }; EDE92DC02B961EB900C6A055 /* APIError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIError.swift; sourceTree = ""; }; - EDE92DC22B9634F600C6A055 /* FindFalconInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconInteractor.swift; sourceTree = ""; }; - EDE92DC72B96383700C6A055 /* FindFalconPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconPresenter.swift; sourceTree = ""; }; - EDE92DCB2B96D19F00C6A055 /* FoundFalconWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FoundFalconWorker.swift; sourceTree = ""; }; - EDE92DCD2B96EA2000C6A055 /* FindFalconConfigurator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconConfigurator.swift; sourceTree = ""; }; - EDE92DD42B96ECB800C6A055 /* FindFalconTokenWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconTokenWorker.swift; sourceTree = ""; }; - EDE92DD72B96F9E500C6A055 /* FindFalconDataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconDataStore.swift; sourceTree = ""; }; - EDE92DD92B96FBA500C6A055 /* FindFalconModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconModel.swift; sourceTree = ""; }; - EDE92DDF2B97216000C6A055 /* SelectVehicleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectVehicleView.swift; sourceTree = ""; }; - EDE92DE12B9757B400C6A055 /* DestinationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DestinationView.swift; sourceTree = ""; }; - EDE92DE32B9779AF00C6A055 /* FindFalconPlanetsAndVehiclesWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconPlanetsAndVehiclesWorker.swift; sourceTree = ""; }; + EDE92DC22B9634F600C6A055 /* SelectDestinationsInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsInteractor.swift; sourceTree = ""; }; + EDE92DC72B96383700C6A055 /* SelectDestinationsPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsPresenter.swift; sourceTree = ""; }; + EDE92DCB2B96D19F00C6A055 /* FindFalconeWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconeWorker.swift; sourceTree = ""; }; + EDE92DCD2B96EA2000C6A055 /* SelectDestinationsConfigurator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsConfigurator.swift; sourceTree = ""; }; + EDE92DD42B96ECB800C6A055 /* TokenWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TokenWorker.swift; sourceTree = ""; }; + EDE92DD72B96F9E500C6A055 /* SelectDestinationsDataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsDataStore.swift; sourceTree = ""; }; + EDE92DD92B96FBA500C6A055 /* SelectDestinationsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsModel.swift; sourceTree = ""; }; + EDE92DDF2B97216000C6A055 /* VehicleSelectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VehicleSelectionView.swift; sourceTree = ""; }; + EDE92DE12B9757B400C6A055 /* DestinationSelectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DestinationSelectionView.swift; sourceTree = ""; }; + EDE92DE32B9779AF00C6A055 /* PlanetsAndVehiclesWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlanetsAndVehiclesWorker.swift; sourceTree = ""; }; EDFE181C2BA5A77C0085A0E8 /* DestinationViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DestinationViewTests.swift; sourceTree = ""; }; - EDFE18242BA5C3140085A0E8 /* FindFalconInteractorErrorMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindFalconInteractorErrorMock.swift; sourceTree = ""; }; + EDFE18242BA5C3140085A0E8 /* SelectDestinationsInteractorErrorMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectDestinationsInteractorErrorMock.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -168,18 +168,18 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - ED5C880F2B9D623F00D97AE3 /* FoundFalcon */ = { + ED5C880F2B9D623F00D97AE3 /* FindFalcone */ = { isa = PBXGroup; children = ( - ED5C88142B9D693200D97AE3 /* FoundFalconConfigurator.swift */, - ED5C881D2B9DBA0A00D97AE3 /* FoundFalconDataStore.swift */, - ED5C88122B9D68BE00D97AE3 /* FoundFalconInteractor.swift */, - ED5C88182B9D6D9500D97AE3 /* FoundFalconModel.swift */, - ED5C88162B9D698700D97AE3 /* FoundFalconPresenter.swift */, - ED5C88102B9D67C900D97AE3 /* FoundFalconView.swift */, - EDE92DCB2B96D19F00C6A055 /* FoundFalconWorker.swift */, - ); - path = FoundFalcon; + ED5C88142B9D693200D97AE3 /* FindFalconeConfigurator.swift */, + ED5C881D2B9DBA0A00D97AE3 /* FindFalconeDataStore.swift */, + ED5C88122B9D68BE00D97AE3 /* FindFalconeInteractor.swift */, + ED5C88182B9D6D9500D97AE3 /* FindFalconeModel.swift */, + ED5C88162B9D698700D97AE3 /* FindFalconePresenter.swift */, + ED5C88102B9D67C900D97AE3 /* FindFalconeView.swift */, + EDE92DCB2B96D19F00C6A055 /* FindFalconeWorker.swift */, + ); + path = FindFalcone; sourceTree = ""; }; ED5C88212BA1FC2300D97AE3 /* Mocks */ = { @@ -209,40 +209,40 @@ path = Networking; sourceTree = ""; }; - ED5C88322BA3625300D97AE3 /* FoundFalcon */ = { + ED5C88322BA3625300D97AE3 /* FindFalcone */ = { isa = PBXGroup; children = ( - ED5C88362BA42BED00D97AE3 /* FoundFalconInteractorTests.swift */, - ED5C883D2BA43BDA00D97AE3 /* FoundFalconPresenterTests.swift */, - ED5C88452BA44EF500D97AE3 /* FoundFalconViewTests.swift */, - ED5C88412BA44C4E00D97AE3 /* FoundFalconWorkerTests.swift */, + ED5C88362BA42BED00D97AE3 /* FindFalconeInteractorTests.swift */, + ED5C883D2BA43BDA00D97AE3 /* FindFalconePresenterTests.swift */, + ED5C88452BA44EF500D97AE3 /* FindFalconeViewTests.swift */, + ED5C88412BA44C4E00D97AE3 /* FindFalconeWorkerTests.swift */, ED5C88382BA42E3000D97AE3 /* Mocks */, ); - path = FoundFalcon; + path = FindFalcone; sourceTree = ""; }; - ED5C88332BA3625F00D97AE3 /* FindFalcon */ = { + ED5C88332BA3625F00D97AE3 /* SelectDestinations */ = { isa = PBXGroup; children = ( - ED5C88572BA4823500D97AE3 /* FindFalconInteractorTests.swift */, - ED5C88592BA4824C00D97AE3 /* FindFalconPresenterTests.swift */, - ED5C885B2BA4826900D97AE3 /* FindFalconViewTests.swift */, + ED5C88572BA4823500D97AE3 /* SelectDestinationsInteractorTests.swift */, + ED5C88592BA4824C00D97AE3 /* SelectDestinationsPresenterTests.swift */, + ED5C885B2BA4826900D97AE3 /* SelectDestinationsViewTests.swift */, ED5C884C2BA451B400D97AE3 /* Mocks */, EDFE18232BA5A8A80085A0E8 /* Models */, EDFE181F2BA5A7AC0085A0E8 /* UIComponents */, EDFE181E2BA5A78F0085A0E8 /* Workers */, ); - path = FindFalcon; + path = SelectDestinations; sourceTree = ""; }; ED5C88382BA42E3000D97AE3 /* Mocks */ = { isa = PBXGroup; children = ( - ED5C883B2BA43AF600D97AE3 /* FoundFalconDisplayMock.swift */, - ED5C88432BA44E7900D97AE3 /* FoundFalconInteractorMock.swift */, - ED5C88472BA4507900D97AE3 /* FoundFalconModelMocks.swift */, - ED5C88342BA42AA700D97AE3 /* FoundFalconPresenterMock.swift */, - ED5C88392BA42E4100D97AE3 /* FoundFalconWorkerMock.swift */, + ED5C883B2BA43AF600D97AE3 /* FindFalconeDisplayMock.swift */, + ED5C88432BA44E7900D97AE3 /* FindFalconeInteractorMock.swift */, + ED5C88472BA4507900D97AE3 /* FindFalconeModelMocks.swift */, + ED5C88342BA42AA700D97AE3 /* FindFalconePresenterMock.swift */, + ED5C88392BA42E4100D97AE3 /* FindFalconeWorkerMock.swift */, ); path = Mocks; sourceTree = ""; @@ -259,14 +259,14 @@ ED5C884C2BA451B400D97AE3 /* Mocks */ = { isa = PBXGroup; children = ( - ED5C884D2BA47D0F00D97AE3 /* FindFalconDisplayMock.swift */, - EDFE18242BA5C3140085A0E8 /* FindFalconInteractorErrorMock.swift */, - ED5C884F2BA47D2200D97AE3 /* FindFalconInteractorMock.swift */, - ED5C884A2BA4514D00D97AE3 /* FindFalconModelMocks.swift */, - ED5C88552BA47E4100D97AE3 /* FindFalconPlanetsAndVehiclesWorkerMock.swift */, - ED5C88512BA47E0B00D97AE3 /* FindFalconPresenterMock.swift */, - ED5C88532BA47E3100D97AE3 /* FindFalconTokenWorkerMock.swift */, ED5C88222BA1FC4000D97AE3 /* ModelMocks.swift */, + ED5C88552BA47E4100D97AE3 /* PlanetsAndVehiclesWorkerMock.swift */, + ED5C884D2BA47D0F00D97AE3 /* SelectDestinationsDisplayMock.swift */, + EDFE18242BA5C3140085A0E8 /* SelectDestinationsInteractorErrorMock.swift */, + ED5C884F2BA47D2200D97AE3 /* SelectDestinationsInteractorMock.swift */, + ED5C884A2BA4514D00D97AE3 /* SelectDestinationsModelMocks.swift */, + ED5C88512BA47E0B00D97AE3 /* SelectDestinationsPresenterMock.swift */, + ED5C88532BA47E3100D97AE3 /* TokenWorkerMock.swift */, ); path = Mocks; sourceTree = ""; @@ -274,8 +274,8 @@ EDE92D762B95FEAC00C6A055 = { isa = PBXGroup; children = ( - EDE92D812B95FEAC00C6A055 /* FindingFalcon */, - EDE92D922B95FEAF00C6A055 /* FindingFalconTests */, + EDE92D812B95FEAC00C6A055 /* FindingFalcone */, + EDE92D922B95FEAF00C6A055 /* FindingFalconeTests */, EDE92D802B95FEAC00C6A055 /* Products */, ); sourceTree = ""; @@ -283,23 +283,23 @@ EDE92D802B95FEAC00C6A055 /* Products */ = { isa = PBXGroup; children = ( - EDE92D7F2B95FEAC00C6A055 /* FindingFalcon.app */, - EDE92D8F2B95FEAF00C6A055 /* FindingFalconTests.xctest */, + EDE92D7F2B95FEAC00C6A055 /* FindingFalcone.app */, + EDE92D8F2B95FEAF00C6A055 /* FindingFalconeTests.xctest */, ); name = Products; sourceTree = ""; }; - EDE92D812B95FEAC00C6A055 /* FindingFalcon */ = { + EDE92D812B95FEAC00C6A055 /* FindingFalcone */ = { isa = PBXGroup; children = ( - EDE92DC42B96363E00C6A055 /* FindFalcon */, - ED5C880F2B9D623F00D97AE3 /* FoundFalcon */, + EDE92DC42B96363E00C6A055 /* SelectDestinations */, + ED5C880F2B9D623F00D97AE3 /* FindFalcone */, EDE92DAC2B95FF0F00C6A055 /* Networking */, - EDE92D822B95FEAC00C6A055 /* FindingFalconApp.swift */, + EDE92D822B95FEAC00C6A055 /* FindingFalconeApp.swift */, EDE92D862B95FEAF00C6A055 /* Assets.xcassets */, EDE92D882B95FEAF00C6A055 /* Preview Content */, ); - path = FindingFalcon; + path = FindingFalcone; sourceTree = ""; }; EDE92D882B95FEAF00C6A055 /* Preview Content */ = { @@ -310,16 +310,16 @@ path = "Preview Content"; sourceTree = ""; }; - EDE92D922B95FEAF00C6A055 /* FindingFalconTests */ = { + EDE92D922B95FEAF00C6A055 /* FindingFalconeTests */ = { isa = PBXGroup; children = ( - ED5C88332BA3625F00D97AE3 /* FindFalcon */, - ED5C88322BA3625300D97AE3 /* FoundFalcon */, + ED5C88322BA3625300D97AE3 /* FindFalcone */, ED5C88212BA1FC2300D97AE3 /* Mocks */, ED5C88292BA2095E00D97AE3 /* Networking */, + ED5C88332BA3625F00D97AE3 /* SelectDestinations */, ED5C88242BA1FE2000D97AE3 /* Utilities */, ); - path = FindingFalconTests; + path = FindingFalconeTests; sourceTree = ""; }; EDE92DAC2B95FF0F00C6A055 /* Networking */ = { @@ -338,36 +338,36 @@ EDE92DB52B961D4300C6A055 /* Models */ = { isa = PBXGroup; children = ( - ED5C881F2BA1881800D97AE3 /* FindFalconDataModel.swift */, - EDE92DD72B96F9E500C6A055 /* FindFalconDataStore.swift */, EDE92DB62B961D5500C6A055 /* Planet.swift */, + ED5C881F2BA1881800D97AE3 /* SelectDestinationsDataModel.swift */, + EDE92DD72B96F9E500C6A055 /* SelectDestinationsDataStore.swift */, EDE92DBA2B961DB100C6A055 /* Token.swift */, EDE92DB82B961D6900C6A055 /* Vehicle.swift */, ); path = Models; sourceTree = ""; }; - EDE92DC42B96363E00C6A055 /* FindFalcon */ = { + EDE92DC42B96363E00C6A055 /* SelectDestinations */ = { isa = PBXGroup; children = ( - EDE92DCD2B96EA2000C6A055 /* FindFalconConfigurator.swift */, - EDE92DC22B9634F600C6A055 /* FindFalconInteractor.swift */, - EDE92DD92B96FBA500C6A055 /* FindFalconModel.swift */, - EDE92DC72B96383700C6A055 /* FindFalconPresenter.swift */, - ED5C880D2B9CE40D00D97AE3 /* FindFalconRouter.swift */, - EDE92D842B95FEAC00C6A055 /* FindFalconView.swift */, + EDE92DCD2B96EA2000C6A055 /* SelectDestinationsConfigurator.swift */, + EDE92DC22B9634F600C6A055 /* SelectDestinationsInteractor.swift */, + EDE92DD92B96FBA500C6A055 /* SelectDestinationsModel.swift */, + EDE92DC72B96383700C6A055 /* SelectDestinationsPresenter.swift */, + ED5C880D2B9CE40D00D97AE3 /* SelectDestinationsRouter.swift */, + EDE92D842B95FEAC00C6A055 /* SelectDestinationsView.swift */, EDE92DB52B961D4300C6A055 /* Models */, EDE92DD62B96F74300C6A055 /* UIComponents */, EDE92DCF2B96EC0700C6A055 /* Workers */, ); - path = FindFalcon; + path = SelectDestinations; sourceTree = ""; }; EDE92DCF2B96EC0700C6A055 /* Workers */ = { isa = PBXGroup; children = ( - EDE92DD42B96ECB800C6A055 /* FindFalconTokenWorker.swift */, - EDE92DE32B9779AF00C6A055 /* FindFalconPlanetsAndVehiclesWorker.swift */, + EDE92DE32B9779AF00C6A055 /* PlanetsAndVehiclesWorker.swift */, + EDE92DD42B96ECB800C6A055 /* TokenWorker.swift */, ); path = Workers; sourceTree = ""; @@ -375,8 +375,8 @@ EDE92DD62B96F74300C6A055 /* UIComponents */ = { isa = PBXGroup; children = ( - EDE92DE12B9757B400C6A055 /* DestinationView.swift */, - EDE92DDF2B97216000C6A055 /* SelectVehicleView.swift */, + EDE92DE12B9757B400C6A055 /* DestinationSelectionView.swift */, + EDE92DDF2B97216000C6A055 /* VehicleSelectionView.swift */, ); path = UIComponents; sourceTree = ""; @@ -401,8 +401,8 @@ EDFE18232BA5A8A80085A0E8 /* Models */ = { isa = PBXGroup; children = ( - ED5C88612BA4A58C00D97AE3 /* FindFalconDataModelTests.swift */, - ED5C88632BA4B79800D97AE3 /* FindFalconDataStoreTests.swift */, + ED5C88612BA4A58C00D97AE3 /* SelectDestinationsDataModelTests.swift */, + ED5C88632BA4B79800D97AE3 /* SelectDestinationsDataStoreTests.swift */, ); path = Models; sourceTree = ""; @@ -410,9 +410,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - EDE92D7E2B95FEAC00C6A055 /* FindingFalcon */ = { + EDE92D7E2B95FEAC00C6A055 /* FindingFalcone */ = { isa = PBXNativeTarget; - buildConfigurationList = EDE92DA32B95FEAF00C6A055 /* Build configuration list for PBXNativeTarget "FindingFalcon" */; + buildConfigurationList = EDE92DA32B95FEAF00C6A055 /* Build configuration list for PBXNativeTarget "FindingFalcone" */; buildPhases = ( EDE92D7B2B95FEAC00C6A055 /* Sources */, EDE92D7C2B95FEAC00C6A055 /* Frameworks */, @@ -422,14 +422,14 @@ ); dependencies = ( ); - name = FindingFalcon; + name = FindingFalcone; productName = FindingFalcon; - productReference = EDE92D7F2B95FEAC00C6A055 /* FindingFalcon.app */; + productReference = EDE92D7F2B95FEAC00C6A055 /* FindingFalcone.app */; productType = "com.apple.product-type.application"; }; - EDE92D8E2B95FEAF00C6A055 /* FindingFalconTests */ = { + EDE92D8E2B95FEAF00C6A055 /* FindingFalconeTests */ = { isa = PBXNativeTarget; - buildConfigurationList = EDE92DA62B95FEAF00C6A055 /* Build configuration list for PBXNativeTarget "FindingFalconTests" */; + buildConfigurationList = EDE92DA62B95FEAF00C6A055 /* Build configuration list for PBXNativeTarget "FindingFalconeTests" */; buildPhases = ( EDE92D8B2B95FEAF00C6A055 /* Sources */, EDE92D8C2B95FEAF00C6A055 /* Frameworks */, @@ -440,11 +440,11 @@ dependencies = ( EDE92D912B95FEAF00C6A055 /* PBXTargetDependency */, ); - name = FindingFalconTests; + name = FindingFalconeTests; packageProductDependencies = ( ); productName = FindingFalconTests; - productReference = EDE92D8F2B95FEAF00C6A055 /* FindingFalconTests.xctest */; + productReference = EDE92D8F2B95FEAF00C6A055 /* FindingFalconeTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -466,7 +466,7 @@ }; }; }; - buildConfigurationList = EDE92D7A2B95FEAC00C6A055 /* Build configuration list for PBXProject "FindingFalcon" */; + buildConfigurationList = EDE92D7A2B95FEAC00C6A055 /* Build configuration list for PBXProject "FindingFalcone" */; compatibilityVersion = "Xcode 14.0"; developmentRegion = en; hasScannedForEncodings = 0; @@ -481,8 +481,8 @@ projectDirPath = ""; projectRoot = ""; targets = ( - EDE92D7E2B95FEAC00C6A055 /* FindingFalcon */, - EDE92D8E2B95FEAF00C6A055 /* FindingFalconTests */, + EDE92D7E2B95FEAC00C6A055 /* FindingFalcone */, + EDE92D8E2B95FEAF00C6A055 /* FindingFalconeTests */, ); }; /* End PBXProject section */ @@ -511,35 +511,35 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - ED5C88132B9D68BE00D97AE3 /* FoundFalconInteractor.swift in Sources */, - EDE92DDA2B96FBA500C6A055 /* FindFalconModel.swift in Sources */, + ED5C88132B9D68BE00D97AE3 /* FindFalconeInteractor.swift in Sources */, + EDE92DDA2B96FBA500C6A055 /* SelectDestinationsModel.swift in Sources */, EDE92DBB2B961DB100C6A055 /* Token.swift in Sources */, EDE92DB92B961D6900C6A055 /* Vehicle.swift in Sources */, EDE92DB02B96023400C6A055 /* NetworkManager.swift in Sources */, - EDE92DC82B96383700C6A055 /* FindFalconPresenter.swift in Sources */, - EDE92DD82B96F9E500C6A055 /* FindFalconDataStore.swift in Sources */, - EDE92D852B95FEAC00C6A055 /* FindFalconView.swift in Sources */, + EDE92DC82B96383700C6A055 /* SelectDestinationsPresenter.swift in Sources */, + EDE92DD82B96F9E500C6A055 /* SelectDestinationsDataStore.swift in Sources */, + EDE92D852B95FEAC00C6A055 /* SelectDestinationsView.swift in Sources */, EDE92DC12B961EB900C6A055 /* APIError.swift in Sources */, - EDE92DD52B96ECB800C6A055 /* FindFalconTokenWorker.swift in Sources */, - EDE92DE02B97216000C6A055 /* SelectVehicleView.swift in Sources */, + EDE92DD52B96ECB800C6A055 /* TokenWorker.swift in Sources */, + EDE92DE02B97216000C6A055 /* VehicleSelectionView.swift in Sources */, EDE92DBF2B961E8100C6A055 /* APIResponse.swift in Sources */, - ED5C88112B9D67C900D97AE3 /* FoundFalconView.swift in Sources */, + ED5C88112B9D67C900D97AE3 /* FindFalconeView.swift in Sources */, EDE92DB22B96026000C6A055 /* APIClient.swift in Sources */, - EDE92DE42B9779AF00C6A055 /* FindFalconPlanetsAndVehiclesWorker.swift in Sources */, - ED5C881E2B9DBA0A00D97AE3 /* FoundFalconDataStore.swift in Sources */, + EDE92DE42B9779AF00C6A055 /* PlanetsAndVehiclesWorker.swift in Sources */, + ED5C881E2B9DBA0A00D97AE3 /* FindFalconeDataStore.swift in Sources */, EDE92DAE2B95FF2F00C6A055 /* API.swift in Sources */, - ED5C88202BA1881800D97AE3 /* FindFalconDataModel.swift in Sources */, - ED5C88152B9D693200D97AE3 /* FoundFalconConfigurator.swift in Sources */, - ED5C88192B9D6D9500D97AE3 /* FoundFalconModel.swift in Sources */, + ED5C88202BA1881800D97AE3 /* SelectDestinationsDataModel.swift in Sources */, + ED5C88152B9D693200D97AE3 /* FindFalconeConfigurator.swift in Sources */, + ED5C88192B9D6D9500D97AE3 /* FindFalconeModel.swift in Sources */, EDE92DB72B961D5500C6A055 /* Planet.swift in Sources */, - ED5C880E2B9CE40D00D97AE3 /* FindFalconRouter.swift in Sources */, - EDE92D832B95FEAC00C6A055 /* FindingFalconApp.swift in Sources */, - ED5C88172B9D698700D97AE3 /* FoundFalconPresenter.swift in Sources */, + ED5C880E2B9CE40D00D97AE3 /* SelectDestinationsRouter.swift in Sources */, + EDE92D832B95FEAC00C6A055 /* FindingFalconeApp.swift in Sources */, + ED5C88172B9D698700D97AE3 /* FindFalconePresenter.swift in Sources */, EDE92DB42B96029000C6A055 /* ResponseHandler.swift in Sources */, - EDE92DCC2B96D19F00C6A055 /* FoundFalconWorker.swift in Sources */, - EDE92DE22B9757B400C6A055 /* DestinationView.swift in Sources */, - EDE92DCE2B96EA2000C6A055 /* FindFalconConfigurator.swift in Sources */, - EDE92DC32B9634F600C6A055 /* FindFalconInteractor.swift in Sources */, + EDE92DCC2B96D19F00C6A055 /* FindFalconeWorker.swift in Sources */, + EDE92DE22B9757B400C6A055 /* DestinationSelectionView.swift in Sources */, + EDE92DCE2B96EA2000C6A055 /* SelectDestinationsConfigurator.swift in Sources */, + EDE92DC32B9634F600C6A055 /* SelectDestinationsInteractor.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -550,34 +550,34 @@ ED5C882B2BA2097E00D97AE3 /* NetworkManagerTests.swift in Sources */, ED5C88282BA204B300D97AE3 /* APIClientMock.swift in Sources */, ED5C88602BA4829100D97AE3 /* FindFalconPlanetsAndVehiclesWorkerTests.swift in Sources */, - ED5C88502BA47D2200D97AE3 /* FindFalconInteractorMock.swift in Sources */, - ED5C88542BA47E3100D97AE3 /* FindFalconTokenWorkerMock.swift in Sources */, - ED5C88462BA44EF500D97AE3 /* FoundFalconViewTests.swift in Sources */, + ED5C88502BA47D2200D97AE3 /* SelectDestinationsInteractorMock.swift in Sources */, + ED5C88542BA47E3100D97AE3 /* TokenWorkerMock.swift in Sources */, + ED5C88462BA44EF500D97AE3 /* FindFalconeViewTests.swift in Sources */, EDFE181D2BA5A77C0085A0E8 /* DestinationViewTests.swift in Sources */, - ED5C88352BA42AA700D97AE3 /* FoundFalconPresenterMock.swift in Sources */, - ED5C88622BA4A58C00D97AE3 /* FindFalconDataModelTests.swift in Sources */, - EDFE18252BA5C3140085A0E8 /* FindFalconInteractorErrorMock.swift in Sources */, - ED5C884E2BA47D0F00D97AE3 /* FindFalconDisplayMock.swift in Sources */, - ED5C88642BA4B79800D97AE3 /* FindFalconDataStoreTests.swift in Sources */, + ED5C88352BA42AA700D97AE3 /* FindFalconePresenterMock.swift in Sources */, + ED5C88622BA4A58C00D97AE3 /* SelectDestinationsDataModelTests.swift in Sources */, + EDFE18252BA5C3140085A0E8 /* SelectDestinationsInteractorErrorMock.swift in Sources */, + ED5C884E2BA47D0F00D97AE3 /* SelectDestinationsDisplayMock.swift in Sources */, + ED5C88642BA4B79800D97AE3 /* SelectDestinationsDataStoreTests.swift in Sources */, ED5C88312BA3520A00D97AE3 /* ResponseHandlerTests.swift in Sources */, - ED5C88522BA47E0B00D97AE3 /* FindFalconPresenterMock.swift in Sources */, - ED5C883E2BA43BDA00D97AE3 /* FoundFalconPresenterTests.swift in Sources */, - ED5C885C2BA4826900D97AE3 /* FindFalconViewTests.swift in Sources */, - ED5C883C2BA43AF600D97AE3 /* FoundFalconDisplayMock.swift in Sources */, + ED5C88522BA47E0B00D97AE3 /* SelectDestinationsPresenterMock.swift in Sources */, + ED5C883E2BA43BDA00D97AE3 /* FindFalconePresenterTests.swift in Sources */, + ED5C885C2BA4826900D97AE3 /* SelectDestinationsViewTests.swift in Sources */, + ED5C883C2BA43AF600D97AE3 /* FindFalconeDisplayMock.swift in Sources */, ED5C88232BA1FC4000D97AE3 /* ModelMocks.swift in Sources */, - ED5C88582BA4823500D97AE3 /* FindFalconInteractorTests.swift in Sources */, - ED5C88422BA44C4E00D97AE3 /* FoundFalconWorkerTests.swift in Sources */, - ED5C884B2BA4514D00D97AE3 /* FindFalconModelMocks.swift in Sources */, - ED5C88372BA42BED00D97AE3 /* FoundFalconInteractorTests.swift in Sources */, + ED5C88582BA4823500D97AE3 /* SelectDestinationsInteractorTests.swift in Sources */, + ED5C88422BA44C4E00D97AE3 /* FindFalconeWorkerTests.swift in Sources */, + ED5C884B2BA4514D00D97AE3 /* SelectDestinationsModelMocks.swift in Sources */, + ED5C88372BA42BED00D97AE3 /* FindFalconeInteractorTests.swift in Sources */, ED5C882D2BA3389500D97AE3 /* ServerMock.swift in Sources */, - ED5C883A2BA42E4100D97AE3 /* FoundFalconWorkerMock.swift in Sources */, - ED5C88442BA44E7900D97AE3 /* FoundFalconInteractorMock.swift in Sources */, - ED5C885A2BA4824C00D97AE3 /* FindFalconPresenterTests.swift in Sources */, + ED5C883A2BA42E4100D97AE3 /* FindFalconeWorkerMock.swift in Sources */, + ED5C88442BA44E7900D97AE3 /* FindFalconeInteractorMock.swift in Sources */, + ED5C885A2BA4824C00D97AE3 /* SelectDestinationsPresenterTests.swift in Sources */, ED5C88262BA1FE3500D97AE3 /* Mocks.swift in Sources */, - ED5C88562BA47E4100D97AE3 /* FindFalconPlanetsAndVehiclesWorkerMock.swift in Sources */, + ED5C88562BA47E4100D97AE3 /* PlanetsAndVehiclesWorkerMock.swift in Sources */, ED5C885E2BA4828200D97AE3 /* FindFalconTokenWorkerTests.swift in Sources */, ED5C882F2BA339AA00D97AE3 /* URLSessionClientTests.swift in Sources */, - ED5C88482BA4507900D97AE3 /* FoundFalconModelMocks.swift in Sources */, + ED5C88482BA4507900D97AE3 /* FindFalconeModelMocks.swift in Sources */, ED5C88402BA4410200D97AE3 /* NetworkManagerMock.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -587,7 +587,7 @@ /* Begin PBXTargetDependency section */ EDE92D912B95FEAF00C6A055 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = EDE92D7E2B95FEAC00C6A055 /* FindingFalcon */; + target = EDE92D7E2B95FEAC00C6A055 /* FindingFalcone */; targetProxy = EDE92D902B95FEAF00C6A055 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -719,7 +719,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"FindingFalcon/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = "\"FindingFalcone/Preview Content\""; DEVELOPMENT_TEAM = 53MFN587RT; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -748,7 +748,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"FindingFalcon/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = "\"FindingFalcone/Preview Content\""; DEVELOPMENT_TEAM = 53MFN587RT; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -786,7 +786,7 @@ SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FindingFalcon.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/FindingFalcon"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FindingFalcone.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/FindingFalcone"; }; name = Debug; }; @@ -806,14 +806,14 @@ SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FindingFalcon.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/FindingFalcon"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FindingFalcone.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/FindingFalcone"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - EDE92D7A2B95FEAC00C6A055 /* Build configuration list for PBXProject "FindingFalcon" */ = { + EDE92D7A2B95FEAC00C6A055 /* Build configuration list for PBXProject "FindingFalcone" */ = { isa = XCConfigurationList; buildConfigurations = ( EDE92DA12B95FEAF00C6A055 /* Debug */, @@ -822,7 +822,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EDE92DA32B95FEAF00C6A055 /* Build configuration list for PBXNativeTarget "FindingFalcon" */ = { + EDE92DA32B95FEAF00C6A055 /* Build configuration list for PBXNativeTarget "FindingFalcone" */ = { isa = XCConfigurationList; buildConfigurations = ( EDE92DA42B95FEAF00C6A055 /* Debug */, @@ -831,7 +831,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EDE92DA62B95FEAF00C6A055 /* Build configuration list for PBXNativeTarget "FindingFalconTests" */ = { + EDE92DA62B95FEAF00C6A055 /* Build configuration list for PBXNativeTarget "FindingFalconeTests" */ = { isa = XCConfigurationList; buildConfigurations = ( EDE92DA72B95FEAF00C6A055 /* Debug */, diff --git a/FindingFalcon.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/FindingFalcone.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 50% rename from FindingFalcon.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to FindingFalcone.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 919434a..2ee4ffd 100644 --- a/FindingFalcon.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/FindingFalcone.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:/Users/pallabmaiti/Documents/iOS-Projects/finding-falcon/FindingFalcone.xcodeproj"> diff --git a/FindingFalcon.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/FindingFalcone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from FindingFalcon.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to FindingFalcone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/FindingFalcon.xcodeproj/xcshareddata/xcschemes/FindingFalcon.xcscheme b/FindingFalcone.xcodeproj/xcshareddata/xcschemes/FindingFalcone.xcscheme similarity index 79% rename from FindingFalcon.xcodeproj/xcshareddata/xcschemes/FindingFalcon.xcscheme rename to FindingFalcone.xcodeproj/xcshareddata/xcschemes/FindingFalcone.xcscheme index 602a648..b7bf42f 100644 --- a/FindingFalcon.xcodeproj/xcshareddata/xcschemes/FindingFalcon.xcscheme +++ b/FindingFalcone.xcodeproj/xcshareddata/xcschemes/FindingFalcone.xcscheme @@ -16,9 +16,9 @@ + BuildableName = "FindingFalcone.app" + BlueprintName = "FindingFalcone" + ReferencedContainer = "container:FindingFalcone.xcodeproj"> @@ -36,9 +36,9 @@ + BuildableName = "FindingFalconeTests.xctest" + BlueprintName = "FindingFalconeTests" + ReferencedContainer = "container:FindingFalcone.xcodeproj"> @@ -58,9 +58,9 @@ + BuildableName = "FindingFalcone.app" + BlueprintName = "FindingFalcone" + ReferencedContainer = "container:FindingFalcone.xcodeproj"> @@ -75,9 +75,9 @@ + BuildableName = "FindingFalcone.app" + BlueprintName = "FindingFalcone" + ReferencedContainer = "container:FindingFalcone.xcodeproj"> diff --git a/FindingFalcon.xcodeproj/xcshareddata/xcschemes/FindingFalconTests.xcscheme b/FindingFalcone.xcodeproj/xcshareddata/xcschemes/FindingFalconeTests.xcscheme similarity index 90% rename from FindingFalcon.xcodeproj/xcshareddata/xcschemes/FindingFalconTests.xcscheme rename to FindingFalcone.xcodeproj/xcshareddata/xcschemes/FindingFalconeTests.xcscheme index 21f2841..4828049 100644 --- a/FindingFalcon.xcodeproj/xcshareddata/xcschemes/FindingFalconTests.xcscheme +++ b/FindingFalcone.xcodeproj/xcshareddata/xcschemes/FindingFalconeTests.xcscheme @@ -20,9 +20,9 @@ + BuildableName = "FindingFalconeTests.xctest" + BlueprintName = "FindingFalconeTests" + ReferencedContainer = "container:FindingFalcone.xcodeproj"> diff --git a/FindingFalcon/Assets.xcassets/AccentColor.colorset/Contents.json b/FindingFalcone/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from FindingFalcon/Assets.xcassets/AccentColor.colorset/Contents.json rename to FindingFalcone/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/FindingFalcon/Assets.xcassets/AppIcon.appiconset/Contents.json b/FindingFalcone/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from FindingFalcon/Assets.xcassets/AppIcon.appiconset/Contents.json rename to FindingFalcone/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/FindingFalcon/Assets.xcassets/Contents.json b/FindingFalcone/Assets.xcassets/Contents.json similarity index 100% rename from FindingFalcon/Assets.xcassets/Contents.json rename to FindingFalcone/Assets.xcassets/Contents.json diff --git a/FindingFalcon/FoundFalcon/FoundFalconConfigurator.swift b/FindingFalcone/FindFalcone/FindFalconeConfigurator.swift similarity index 74% rename from FindingFalcon/FoundFalcon/FoundFalconConfigurator.swift rename to FindingFalcone/FindFalcone/FindFalconeConfigurator.swift index 4d8bbd9..8f6ed65 100644 --- a/FindingFalcon/FoundFalcon/FoundFalconConfigurator.swift +++ b/FindingFalcone/FindFalcone/FindFalconeConfigurator.swift @@ -1,6 +1,6 @@ // -// FoundFalconConfigurator.swift -// FindingFalcon +// FindFalconeConfigurator.swift +// FindingFalcone // // Created by Pallab Maiti on 10/03/24. // @@ -8,14 +8,14 @@ import Foundation import SwiftUI -extension FoundFalconView { +extension FindFalconeView { func configureView( - dataModel: FindFalconDataModel, + dataModel: SelectDestinationsDataModel, token: Token?, onStartAgain: @escaping () -> Void ) -> some View { - let presenter = FoundFalconPresenter() - let interactor = FoundFalconInteractor( + let presenter = FindFalconePresenter() + let interactor = FindFalconeInteractor( dataModel: dataModel, token: token, onStartAgain: onStartAgain @@ -31,7 +31,7 @@ extension FoundFalconView { apiClient: apiClient, responseHandler: responseHandler ) - let worker = FoundFalconWorker(networkManager: networkManager) + let worker = FindFalconeWorker(networkManager: networkManager) interactor.worker = worker diff --git a/FindingFalcon/FoundFalcon/FoundFalconDataStore.swift b/FindingFalcone/FindFalcone/FindFalconeDataStore.swift similarity index 68% rename from FindingFalcon/FoundFalcon/FoundFalconDataStore.swift rename to FindingFalcone/FindFalcone/FindFalconeDataStore.swift index 0ad7288..197df80 100644 --- a/FindingFalcon/FoundFalcon/FoundFalconDataStore.swift +++ b/FindingFalcone/FindFalcone/FindFalconeDataStore.swift @@ -1,13 +1,13 @@ // -// FoundFalconDataStore.swift -// FindingFalcon +// FindFalconeDataStore.swift +// FindingFalcone // // Created by Pallab Maiti on 10/03/24. // import Foundation -final class FoundFalconDataStore: ObservableObject { +final class FindFalconeDataStore: ObservableObject { @Published var planetName: String? @Published var isLoading = true @Published var isSuccess = false diff --git a/FindingFalcon/FoundFalcon/FoundFalconInteractor.swift b/FindingFalcone/FindFalcone/FindFalconeInteractor.swift similarity index 65% rename from FindingFalcon/FoundFalcon/FoundFalconInteractor.swift rename to FindingFalcone/FindFalcone/FindFalconeInteractor.swift index 0cc9fea..215f313 100644 --- a/FindingFalcon/FoundFalcon/FoundFalconInteractor.swift +++ b/FindingFalcone/FindFalcone/FindFalconeInteractor.swift @@ -1,29 +1,29 @@ // -// FoundFalconInteractor.swift -// FindingFalcon +// FindFalconeInteractor.swift +// FindingFalcone // // Created by Pallab Maiti on 10/03/24. // import Foundation -protocol FoundFalconBusinessLogic { - func findFalcon() async throws +protocol FindFalconeBusinessLogic { + func findFalcone() async throws func startAgain() func getTotalTimeTaken() async } @MainActor -final class FoundFalconInteractor: FoundFalconBusinessLogic { - var presenter: FoundFalconPresentationLogic? - var worker: FoundFalconLogic? +final class FindFalconeInteractor: FindFalconeBusinessLogic { + var presenter: FindFalconePresentationLogic? + var worker: FindFalconeLogic? - private let dataModel: FindFalconDataModel + private let dataModel: SelectDestinationsDataModel private let token: Token? private let onStartAgain: (() -> Void)? init( - dataModel: FindFalconDataModel, + dataModel: SelectDestinationsDataModel, token: Token?, onStartAgain: (() -> Void)? ) { @@ -32,7 +32,7 @@ final class FoundFalconInteractor: FoundFalconBusinessLogic { self.onStartAgain = onStartAgain } - func findFalcon() async throws { + func findFalcone() async throws { guard let token = token?.token else { return } @@ -49,9 +49,9 @@ final class FoundFalconInteractor: FoundFalconBusinessLogic { guard !planetNames.isEmpty, !vehicleNames.isEmpty, planetNames.count == vehicleNames.count else { return } - let request = FoundFalcon.Find.Request(token: token, planetNames: planetNames, vehicleNames: vehicleNames) - if let response = try await worker?.findFalcon(request) { - presenter?.presentFalcon(response) + let request = FindFalcone.Find.Request(token: token, planetNames: planetNames, vehicleNames: vehicleNames) + if let response = try await worker?.findFalcone(request) { + presenter?.presentFalcone(response) } } @@ -60,6 +60,6 @@ final class FoundFalconInteractor: FoundFalconBusinessLogic { } func getTotalTimeTaken() async { - presenter?.presentTotalTimeTaken(FoundFalcon.TotalTimeTaken.Response(totalTimeTaken: dataModel.totalTimeTaken)) + presenter?.presentTotalTimeTaken(FindFalcone.TotalTimeTaken.Response(totalTimeTaken: dataModel.totalTimeTaken)) } } diff --git a/FindingFalcon/FoundFalcon/FoundFalconModel.swift b/FindingFalcone/FindFalcone/FindFalconeModel.swift similarity index 91% rename from FindingFalcon/FoundFalcon/FoundFalconModel.swift rename to FindingFalcone/FindFalcone/FindFalconeModel.swift index 3873744..05c2808 100644 --- a/FindingFalcon/FoundFalcon/FoundFalconModel.swift +++ b/FindingFalcone/FindFalcone/FindFalconeModel.swift @@ -1,13 +1,13 @@ // -// FoundFalconModel.swift -// FindingFalcon +// FindFalconeModel.swift +// FindingFalcone // // Created by Pallab Maiti on 10/03/24. // import Foundation -enum FoundFalcon { +enum FindFalcone { enum Find { struct Request: Codable { let token: String diff --git a/FindingFalcone/FindFalcone/FindFalconePresenter.swift b/FindingFalcone/FindFalcone/FindFalconePresenter.swift new file mode 100644 index 0000000..d154444 --- /dev/null +++ b/FindingFalcone/FindFalcone/FindFalconePresenter.swift @@ -0,0 +1,29 @@ +// +// FindFalconePresenter.swift +// FindingFalcone +// +// Created by Pallab Maiti on 10/03/24. +// + +import Foundation + +protocol FindFalconePresentationLogic { + func presentFalcone(_ response: FindFalcone.Find.Response) + func presentTotalTimeTaken(_ response: FindFalcone.TotalTimeTaken.Response) +} + +final class FindFalconePresenter: FindFalconePresentationLogic { + var view: FindFalconeDisplayLogic? + + func presentFalcone(_ response: FindFalcone.Find.Response) { + if response.status == "success" { + view?.displaySuccess(viewModel: FindFalcone.Find.ViewModelSuccess(planetName: response.planetName)) + } else { + view?.displayFailure(viewModel: FindFalcone.Find.ViewModelFailure()) + } + } + + func presentTotalTimeTaken(_ response: FindFalcone.TotalTimeTaken.Response) { + view?.displayTotalTimeTaken(viewModel: FindFalcone.TotalTimeTaken.ViewModel(totalTimeTaken: response.totalTimeTaken)) + } +} diff --git a/FindingFalcon/FoundFalcon/FoundFalconView.swift b/FindingFalcone/FindFalcone/FindFalconeView.swift similarity index 73% rename from FindingFalcon/FoundFalcon/FoundFalconView.swift rename to FindingFalcone/FindFalcone/FindFalconeView.swift index 8be0c4e..677212a 100644 --- a/FindingFalcon/FoundFalcon/FoundFalconView.swift +++ b/FindingFalcone/FindFalcone/FindFalconeView.swift @@ -1,23 +1,23 @@ // -// FoundFalconView.swift -// FindingFalcon +// FindFalconeView.swift +// FindingFalcone // // Created by Pallab Maiti on 10/03/24. // import SwiftUI -protocol FoundFalconDisplayLogic { - func displaySuccess(viewModel: FoundFalcon.Find.ViewModelSuccess) - func displayFailure(viewModel: FoundFalcon.Find.ViewModelFailure) - func displayTotalTimeTaken(viewModel: FoundFalcon.TotalTimeTaken.ViewModel) +protocol FindFalconeDisplayLogic { + func displaySuccess(viewModel: FindFalcone.Find.ViewModelSuccess) + func displayFailure(viewModel: FindFalcone.Find.ViewModelFailure) + func displayTotalTimeTaken(viewModel: FindFalcone.TotalTimeTaken.ViewModel) } -struct FoundFalconView: View { +struct FindFalconeView: View { @Environment(\.dismiss) var dismiss - var interactor: FoundFalconBusinessLogic? + var interactor: FindFalconeBusinessLogic? - @ObservedObject private var dataStore = FoundFalconDataStore() + @ObservedObject private var dataStore = FindFalconeDataStore() var body: some View { VStack { @@ -34,7 +34,7 @@ struct FoundFalconView: View { .onAppear{ Task { await getTotalTimeTaken() - await findFalcon() + await findFalcone() dataStore.isLoading = false } } @@ -78,25 +78,25 @@ struct FoundFalconView: View { } } -extension FoundFalconView: FoundFalconDisplayLogic { - func displaySuccess(viewModel: FoundFalcon.Find.ViewModelSuccess) { +extension FindFalconeView: FindFalconeDisplayLogic { + func displaySuccess(viewModel: FindFalcone.Find.ViewModelSuccess) { dataStore.planetName = viewModel.planetName dataStore.isSuccess = true } - func displayFailure(viewModel: FoundFalcon.Find.ViewModelFailure) { + func displayFailure(viewModel: FindFalcone.Find.ViewModelFailure) { dataStore.isSuccess = false } - func displayTotalTimeTaken(viewModel: FoundFalcon.TotalTimeTaken.ViewModel) { + func displayTotalTimeTaken(viewModel: FindFalcone.TotalTimeTaken.ViewModel) { dataStore.totalTimeTaken = viewModel.totalTimeTaken } } -extension FoundFalconView { - func findFalcon() async { +extension FindFalconeView { + func findFalcone() async { do { - try await interactor?.findFalcon() + try await interactor?.findFalcone() } catch { } diff --git a/FindingFalcon/FoundFalcon/FoundFalconWorker.swift b/FindingFalcone/FindFalcone/FindFalconeWorker.swift similarity index 51% rename from FindingFalcon/FoundFalcon/FoundFalconWorker.swift rename to FindingFalcone/FindFalcone/FindFalconeWorker.swift index 63931c6..dff1fe8 100644 --- a/FindingFalcon/FoundFalcon/FoundFalconWorker.swift +++ b/FindingFalcone/FindFalcone/FindFalconeWorker.swift @@ -1,31 +1,31 @@ // // FindFalconWorker.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 05/03/24. // import Foundation -protocol FoundFalconLogic { - func findFalcon(_ request: FoundFalcon.Find.Request) async throws -> FoundFalcon.Find.Response +protocol FindFalconeLogic { + func findFalcone(_ request: FindFalcone.Find.Request) async throws -> FindFalcone.Find.Response } -final class FoundFalconWorker: FoundFalconLogic { +final class FindFalconeWorker: FindFalconeLogic { let networkManager: ServiceType init(networkManager: ServiceType) { self.networkManager = networkManager } - func findFalcon(_ request: FoundFalcon.Find.Request) async throws -> FoundFalcon.Find.Response { + func findFalcone(_ request: FindFalcone.Find.Request) async throws -> FindFalcone.Find.Response { do { - let response = try await networkManager.findFalcon(request) + let response = try await networkManager.findFalcone(request) return response.value } catch { if let error: APIError = error as? APIError, case .noData(let result) = error, result.status.needsRetry { let response = try await networkManager.retrieveToken() - return try await findFalcon(FoundFalcon.Find.Request(token: response.value.token, planetNames: request.planetNames, vehicleNames: request.vehicleNames)) + return try await findFalcone(FindFalcone.Find.Request(token: response.value.token, planetNames: request.planetNames, vehicleNames: request.vehicleNames)) } else { throw error } diff --git a/FindingFalcon/FindingFalconApp.swift b/FindingFalcone/FindingFalconeApp.swift similarity index 51% rename from FindingFalcon/FindingFalconApp.swift rename to FindingFalcone/FindingFalconeApp.swift index d6680cd..a0c2699 100644 --- a/FindingFalcon/FindingFalconApp.swift +++ b/FindingFalcone/FindingFalconeApp.swift @@ -1,6 +1,6 @@ // -// FindingFalconApp.swift -// FindingFalcon +// FindingFalconeApp.swift +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // @@ -8,10 +8,10 @@ import SwiftUI @main -struct FindingFalconApp: App { +struct FindingFalconeApp: App { var body: some Scene { WindowGroup { - FindFalconView().configureView() + SelectDestinationsView().configureView() } } } diff --git a/FindingFalcon/Networking/API.swift b/FindingFalcone/Networking/API.swift similarity index 86% rename from FindingFalcon/Networking/API.swift rename to FindingFalcone/Networking/API.swift index 9cbd501..4485d61 100644 --- a/FindingFalcon/Networking/API.swift +++ b/FindingFalcone/Networking/API.swift @@ -1,6 +1,6 @@ // // API.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // @@ -11,7 +11,7 @@ enum API { case getPlanets case getVehicles case retrieveToken - case findFalcon(FoundFalcon.Find.Request) + case findFalcone(FindFalcone.Find.Request) } extension API { @@ -27,7 +27,7 @@ extension API { return "/vehicles" case .retrieveToken: return "/token" - case .findFalcon: + case .findFalcone: return "/find" } } @@ -37,7 +37,7 @@ extension API { switch self { case .getPlanets, .getVehicles: method = .GET - case .retrieveToken, .findFalcon: + case .retrieveToken, .findFalcone: method = .POST } return method.rawValue @@ -52,7 +52,7 @@ extension API { } var httpBody: Data? { - if case .findFalcon(let request) = self { + if case .findFalcone(let request) = self { let encoder = JSONEncoder() encoder.keyEncodingStrategy = .convertToSnakeCase return try? encoder.encode(request) @@ -62,7 +62,7 @@ extension API { var allHTTPHeaderFields: [String: String]? { switch self { - case .retrieveToken, .findFalcon: + case .retrieveToken, .findFalcone: return ["Accept": "application/json"] default: return nil diff --git a/FindingFalcon/Networking/APIClient.swift b/FindingFalcone/Networking/APIClient.swift similarity index 98% rename from FindingFalcon/Networking/APIClient.swift rename to FindingFalcone/Networking/APIClient.swift index 21dc4f6..ef68e5b 100644 --- a/FindingFalcon/Networking/APIClient.swift +++ b/FindingFalcone/Networking/APIClient.swift @@ -1,6 +1,6 @@ // // APIClient.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // diff --git a/FindingFalcon/Networking/APIError.swift b/FindingFalcone/Networking/APIError.swift similarity index 90% rename from FindingFalcon/Networking/APIError.swift rename to FindingFalcone/Networking/APIError.swift index d2d2be6..bee20c9 100644 --- a/FindingFalcon/Networking/APIError.swift +++ b/FindingFalcone/Networking/APIError.swift @@ -1,6 +1,6 @@ // // APIError.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // diff --git a/FindingFalcon/Networking/APIResponse.swift b/FindingFalcone/Networking/APIResponse.swift similarity index 97% rename from FindingFalcon/Networking/APIResponse.swift rename to FindingFalcone/Networking/APIResponse.swift index 8ad565f..e22ed5a 100644 --- a/FindingFalcon/Networking/APIResponse.swift +++ b/FindingFalcone/Networking/APIResponse.swift @@ -1,6 +1,6 @@ // // APIResponse.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // diff --git a/FindingFalcon/Networking/NetworkManager.swift b/FindingFalcone/Networking/NetworkManager.swift similarity index 59% rename from FindingFalcon/Networking/NetworkManager.swift rename to FindingFalcone/Networking/NetworkManager.swift index 9fb4577..d938007 100644 --- a/FindingFalcon/Networking/NetworkManager.swift +++ b/FindingFalcone/Networking/NetworkManager.swift @@ -1,6 +1,6 @@ // // NetworkManager.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // @@ -10,10 +10,10 @@ import Foundation typealias Handler = (Result) -> Void protocol ServiceType { - func findFalcon(_ request: FoundFalcon.Find.Request) async throws -> APIResponse - func retrieveToken() async throws -> APIResponse - func getVehicles() async throws -> APIResponse<[FindingFalcon.LoadVehicles.Response]> - func getPlanets() async throws -> APIResponse<[FindingFalcon.LoadPlanets.Response]> + func findFalcone(_ request: FindFalcone.Find.Request) async throws -> APIResponse + func retrieveToken() async throws -> APIResponse + func getVehicles() async throws -> APIResponse<[SelectDestinations.LoadVehicles.Response]> + func getPlanets() async throws -> APIResponse<[SelectDestinations.LoadPlanets.Response]> } final class NetworkManager { @@ -40,19 +40,19 @@ final class NetworkManager { } extension NetworkManager: ServiceType { - func findFalcon(_ request: FoundFalcon.Find.Request) async throws -> APIResponse { - return try await send(api: API.findFalcon(request)) + func findFalcone(_ request: FindFalcone.Find.Request) async throws -> APIResponse { + return try await send(api: API.findFalcone(request)) } - func retrieveToken() async throws -> APIResponse { + func retrieveToken() async throws -> APIResponse { return try await send(api: .retrieveToken) } - func getPlanets() async throws -> APIResponse<[FindingFalcon.LoadPlanets.Response]> { + func getPlanets() async throws -> APIResponse<[SelectDestinations.LoadPlanets.Response]> { return try await send(api: .getPlanets) } - func getVehicles() async throws -> APIResponse<[FindingFalcon.LoadVehicles.Response]> { + func getVehicles() async throws -> APIResponse<[SelectDestinations.LoadVehicles.Response]> { return try await send(api: .getVehicles) } } diff --git a/FindingFalcon/Networking/ResponseHandler.swift b/FindingFalcone/Networking/ResponseHandler.swift similarity index 97% rename from FindingFalcon/Networking/ResponseHandler.swift rename to FindingFalcone/Networking/ResponseHandler.swift index 7b47dda..18d1426 100644 --- a/FindingFalcon/Networking/ResponseHandler.swift +++ b/FindingFalcone/Networking/ResponseHandler.swift @@ -1,6 +1,6 @@ // // ResponseHandler.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // diff --git a/FindingFalcon/Preview Content/Preview Assets.xcassets/Contents.json b/FindingFalcone/Preview Content/Preview Assets.xcassets/Contents.json similarity index 100% rename from FindingFalcon/Preview Content/Preview Assets.xcassets/Contents.json rename to FindingFalcone/Preview Content/Preview Assets.xcassets/Contents.json diff --git a/FindingFalcon/FindFalcon/Models/Planet.swift b/FindingFalcone/SelectDestinations/Models/Planet.swift similarity index 89% rename from FindingFalcon/FindFalcon/Models/Planet.swift rename to FindingFalcone/SelectDestinations/Models/Planet.swift index 9944880..92751b1 100644 --- a/FindingFalcon/FindFalcon/Models/Planet.swift +++ b/FindingFalcone/SelectDestinations/Models/Planet.swift @@ -1,6 +1,6 @@ // // Planet.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // diff --git a/FindingFalcon/FindFalcon/Models/FindFalconDataModel.swift b/FindingFalcone/SelectDestinations/Models/SelectDestinationsDataModel.swift similarity index 96% rename from FindingFalcon/FindFalcon/Models/FindFalconDataModel.swift rename to FindingFalcone/SelectDestinations/Models/SelectDestinationsDataModel.swift index 9f624ed..a3b7381 100644 --- a/FindingFalcon/FindFalcon/Models/FindFalconDataModel.swift +++ b/FindingFalcone/SelectDestinations/Models/SelectDestinationsDataModel.swift @@ -1,6 +1,6 @@ // -// FindFalconDataModel.swift -// FindingFalcon +// SelectDestinationsDataModel.swift +// FindingFalcone // // Created by Pallab Maiti on 13/03/24. // @@ -54,7 +54,7 @@ final class Destination: ObservableObject, Identifiable { } } -final class FindFalconDataModel: ObservableObject { +final class SelectDestinationsDataModel: ObservableObject { @Published var destinations: [Destination] var totalTimeTaken: Int { diff --git a/FindingFalcon/FindFalcon/Models/FindFalconDataStore.swift b/FindingFalcone/SelectDestinations/Models/SelectDestinationsDataStore.swift similarity index 81% rename from FindingFalcon/FindFalcon/Models/FindFalconDataStore.swift rename to FindingFalcone/SelectDestinations/Models/SelectDestinationsDataStore.swift index 57a889c..da6fae6 100644 --- a/FindingFalcon/FindFalcon/Models/FindFalconDataStore.swift +++ b/FindingFalcone/SelectDestinations/Models/SelectDestinationsDataStore.swift @@ -1,13 +1,13 @@ // -// FindFalconswift -// FindingFalcon +// SelectDestinationsDataStore +// FindingFalcone // // Created by Pallab Maiti on 05/03/24. // import Foundation -final class FindFalconDataStore: ObservableObject { +final class SelectDestinationsDataStore: ObservableObject { @Published var planetList: [Planet] = [] @Published var vehicleList: [Vehicle] = [] @Published var token: Token? diff --git a/FindingFalcon/FindFalcon/Models/Token.swift b/FindingFalcone/SelectDestinations/Models/Token.swift similarity index 87% rename from FindingFalcon/FindFalcon/Models/Token.swift rename to FindingFalcone/SelectDestinations/Models/Token.swift index 5ac1904..df5463f 100644 --- a/FindingFalcon/FindFalcon/Models/Token.swift +++ b/FindingFalcone/SelectDestinations/Models/Token.swift @@ -1,6 +1,6 @@ // // Token.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // diff --git a/FindingFalcon/FindFalcon/Models/Vehicle.swift b/FindingFalcone/SelectDestinations/Models/Vehicle.swift similarity index 91% rename from FindingFalcon/FindFalcon/Models/Vehicle.swift rename to FindingFalcone/SelectDestinations/Models/Vehicle.swift index b471917..6495ca2 100644 --- a/FindingFalcon/FindFalcon/Models/Vehicle.swift +++ b/FindingFalcone/SelectDestinations/Models/Vehicle.swift @@ -1,6 +1,6 @@ // // Vehicle.swift -// FindingFalcon +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // diff --git a/FindingFalcon/FindFalcon/FindFalconConfigurator.swift b/FindingFalcone/SelectDestinations/SelectDestinationsConfigurator.swift similarity index 63% rename from FindingFalcon/FindFalcon/FindFalconConfigurator.swift rename to FindingFalcone/SelectDestinations/SelectDestinationsConfigurator.swift index 47e3ffd..ff08214 100644 --- a/FindingFalcon/FindFalcon/FindFalconConfigurator.swift +++ b/FindingFalcone/SelectDestinations/SelectDestinationsConfigurator.swift @@ -1,16 +1,16 @@ // -// FindFalconConfigurator.swift -// FindingFalcon +// SelectDestinationsConfigurator.swift +// FindingFalcone // // Created by Pallab Maiti on 05/03/24. // import SwiftUI -extension FindFalconView { +extension SelectDestinationsView { @MainActor func configureView() -> some View { - let presenter = FindFalconPresenter() - let interactor = FindFalconInteractor() + let presenter = SelectDestinationsPresenter() + let interactor = SelectDestinationsInteractor() let apiClient = URLSessionClient( session: URLSession( @@ -23,15 +23,15 @@ extension FindFalconView { responseHandler: responseHandler ) - let tokenWorker = FindFalconTokenWorker(networkManager: networkManager) - let planetsAndVehiclesWorker = FindFalconPlanetsAndVehiclesWorker(networkManager: networkManager) + let tokenWorker = TokenWorker(networkManager: networkManager) + let planetsAndVehiclesWorker = PlanetsAndVehiclesWorker(networkManager: networkManager) interactor.tokenWorker = tokenWorker interactor.planetsAndVehiclesWorker = planetsAndVehiclesWorker var view = self view.interactor = interactor - view.router = FindFalconRouter() + view.router = SelectDestinationsRouter() interactor.presenter = presenter presenter.view = view return view diff --git a/FindingFalcon/FindFalcon/FindFalconInteractor.swift b/FindingFalcone/SelectDestinations/SelectDestinationsInteractor.swift similarity index 63% rename from FindingFalcon/FindFalcon/FindFalconInteractor.swift rename to FindingFalcone/SelectDestinations/SelectDestinationsInteractor.swift index 04bd480..971aa4a 100644 --- a/FindingFalcon/FindFalcon/FindFalconInteractor.swift +++ b/FindingFalcone/SelectDestinations/SelectDestinationsInteractor.swift @@ -1,22 +1,22 @@ // -// FindFalconInteractor.swift -// FindingFalcon +// SelectDestinationsInteractor.swift +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // import Foundation -protocol FindFalconBusinessLogic { +protocol SelectDestinationsBusinessLogic { func retrieveToken() async throws func getPlanetsAndVehicles() async throws } @MainActor -final class FindFalconInteractor: FindFalconBusinessLogic { - var presenter: FindFalconPresentationLogic? - var tokenWorker: FindFalconTokenLogic? - var planetsAndVehiclesWorker: FindFalconPlanetsAndVehiclesLogic? +final class SelectDestinationsInteractor: SelectDestinationsBusinessLogic { + var presenter: SelectDestinationsPresentationLogic? + var tokenWorker: TokenLogic? + var planetsAndVehiclesWorker: PlanetsAndVehiclesLogic? func retrieveToken() async throws { if let response = try await tokenWorker?.retrieveToken() { diff --git a/FindingFalcon/FindFalcon/FindFalconModel.swift b/FindingFalcone/SelectDestinations/SelectDestinationsModel.swift similarity index 93% rename from FindingFalcon/FindFalcon/FindFalconModel.swift rename to FindingFalcone/SelectDestinations/SelectDestinationsModel.swift index 025f7b6..57f0ce8 100644 --- a/FindingFalcon/FindFalcon/FindFalconModel.swift +++ b/FindingFalcone/SelectDestinations/SelectDestinationsModel.swift @@ -1,13 +1,13 @@ // -// FindFalconModel.swift -// FindingFalcon +// SelectDestinationsModel.swift +// FindingFalcone // // Created by Pallab Maiti on 05/03/24. // import Foundation -enum FindingFalcon { +enum SelectDestinations { enum LoadPlanets { struct Request { } diff --git a/FindingFalcone/SelectDestinations/SelectDestinationsPresenter.swift b/FindingFalcone/SelectDestinations/SelectDestinationsPresenter.swift new file mode 100644 index 0000000..d24040c --- /dev/null +++ b/FindingFalcone/SelectDestinations/SelectDestinationsPresenter.swift @@ -0,0 +1,28 @@ +// +// SelectDestinationsPresenter.swift +// FindingFalcone +// +// Created by Pallab Maiti on 04/03/24. +// + +import Foundation + +protocol SelectDestinationsPresentationLogic { + func presentPlanetsAndVehicles(_ response: SelectDestinations.LoadPlanetsAndVehicles.Response) + func presentToken(_ response: SelectDestinations.RetrieveToken.Response) +} + +final class SelectDestinationsPresenter: SelectDestinationsPresentationLogic { + var view: SelectDestinationsDisplayLogic? + + func presentPlanetsAndVehicles(_ response: SelectDestinations.LoadPlanetsAndVehicles.Response) { + let planets = response.planets.compactMap{ Planet(name: $0.name, distance: $0.distance) } + let vehicles = response.vehicles.compactMap { Vehicle(name: $0.name, totalNo: $0.totalNo, maxDistance: $0.maxDistance, speed: $0.speed) } + let viewModel = SelectDestinations.LoadPlanetsAndVehicles.ViewModel(vehicles: vehicles, planets: planets) + view?.displayPlanetsAndVehicles(viewModel: viewModel) + } + + func presentToken(_ response: SelectDestinations.RetrieveToken.Response) { + view?.displayToken(viewModel: SelectDestinations.RetrieveToken.ViewModel(token: Token(token: response.token))) + } +} diff --git a/FindingFalcon/FindFalcon/FindFalconRouter.swift b/FindingFalcone/SelectDestinations/SelectDestinationsRouter.swift similarity index 62% rename from FindingFalcon/FindFalcon/FindFalconRouter.swift rename to FindingFalcone/SelectDestinations/SelectDestinationsRouter.swift index c8230a2..48d28ee 100644 --- a/FindingFalcon/FindFalcon/FindFalconRouter.swift +++ b/FindingFalcone/SelectDestinations/SelectDestinationsRouter.swift @@ -1,6 +1,6 @@ // -// FindFalconRouter.swift -// FindingFalcon +// SelectDestinationsRouter.swift +// FindingFalcone // // Created by Pallab Maiti on 10/03/24. // @@ -8,13 +8,13 @@ import Foundation import SwiftUI -final class FindFalconRouter { +final class SelectDestinationsRouter { func navigateToNextScreen( - dataModel: FindFalconDataModel, + dataModel: SelectDestinationsDataModel, token: Token?, onStartAgain: @escaping () -> Void ) -> some View { - return FoundFalconView().configureView( + return FindFalconeView().configureView( dataModel: dataModel, token: token, onStartAgain: onStartAgain diff --git a/FindingFalcon/FindFalcon/FindFalconView.swift b/FindingFalcone/SelectDestinations/SelectDestinationsView.swift similarity index 75% rename from FindingFalcon/FindFalcon/FindFalconView.swift rename to FindingFalcone/SelectDestinations/SelectDestinationsView.swift index 526b6f5..565525d 100644 --- a/FindingFalcon/FindFalcon/FindFalconView.swift +++ b/FindingFalcone/SelectDestinations/SelectDestinationsView.swift @@ -1,6 +1,6 @@ // -// FindFalconView.swift -// FindingFalcon +// SelectDestinationsView.swift +// FindingFalcone // // Created by Pallab Maiti on 04/03/24. // @@ -8,17 +8,17 @@ import SwiftUI import Combine -protocol FindFalconDisplayLogic { - func displayPlanetsAndVehicles(viewModel: FindingFalcon.LoadPlanetsAndVehicles.ViewModel) - func displayToken(viewModel: FindingFalcon.RetrieveToken.ViewModel) +protocol SelectDestinationsDisplayLogic { + func displayPlanetsAndVehicles(viewModel: SelectDestinations.LoadPlanetsAndVehicles.ViewModel) + func displayToken(viewModel: SelectDestinations.RetrieveToken.ViewModel) } -struct FindFalconView: View { - var interactor: FindFalconBusinessLogic? - var router: FindFalconRouter? +struct SelectDestinationsView: View { + var interactor: SelectDestinationsBusinessLogic? + var router: SelectDestinationsRouter? - @ObservedObject var dataStore = FindFalconDataStore() - @ObservedObject var dataModel = FindFalconDataModel() + @ObservedObject var dataStore = SelectDestinationsDataStore() + @ObservedObject var dataModel = SelectDestinationsDataModel() var onError: (() -> Void)? @@ -30,7 +30,7 @@ struct FindFalconView: View { ProgressView("Loading...") } else { ForEach(dataModel.destinations) { destination in - DestinationView( + DestinationSelectionView( destination: destination, onVehicleSelect: { dataModel.updateNextDestinationVehicleList(destination: destination) @@ -46,11 +46,11 @@ struct FindFalconView: View { Section(header: Text("Time taken:")) { timeTakenView } - Section(header: Text("Find Falcon:")) { + Section(header: Text("Find Falcone:")) { NavigationLink() { navigateToNextScreen } label: { - Text("Find Falcon") + Text("Find Falcone") } .disabled(dataModel.shouldButtonDisabled) } @@ -61,7 +61,7 @@ struct FindFalconView: View { await retrieveToken() } } - .navigationTitle("Find Falcon") + .navigationTitle("Find Falcone") .padding() } .navigationViewStyle(.stack) @@ -85,8 +85,8 @@ struct FindFalconView: View { } } -extension FindFalconView: FindFalconDisplayLogic { - func displayPlanetsAndVehicles(viewModel: FindingFalcon.LoadPlanetsAndVehicles.ViewModel) { +extension SelectDestinationsView: SelectDestinationsDisplayLogic { + func displayPlanetsAndVehicles(viewModel: SelectDestinations.LoadPlanetsAndVehicles.ViewModel) { dataStore.planetList = viewModel.planets dataStore.vehicleList = viewModel.vehicles @@ -94,13 +94,13 @@ extension FindFalconView: FindFalconDisplayLogic { dataModel.destinations.first?.vehicleList = viewModel.vehicles } - func displayToken(viewModel: FindingFalcon.RetrieveToken.ViewModel) { + func displayToken(viewModel: SelectDestinations.RetrieveToken.ViewModel) { dataStore.token = viewModel.token dataStore.isLoading = false } } -extension FindFalconView { +extension SelectDestinationsView { func retrieveToken() async { do { try await interactor?.retrieveToken() diff --git a/FindingFalcon/FindFalcon/UIComponents/DestinationView.swift b/FindingFalcone/SelectDestinations/UIComponents/DestinationSelectionView.swift similarity index 91% rename from FindingFalcon/FindFalcon/UIComponents/DestinationView.swift rename to FindingFalcone/SelectDestinations/UIComponents/DestinationSelectionView.swift index 32ec488..a0a8264 100644 --- a/FindingFalcon/FindFalcon/UIComponents/DestinationView.swift +++ b/FindingFalcone/SelectDestinations/UIComponents/DestinationSelectionView.swift @@ -1,6 +1,6 @@ // -// DestinationView.swift -// FindingFalcon +// DestinationSelectionView.swift +// FindingFalcone // // Created by Pallab Maiti on 05/03/24. // @@ -8,7 +8,7 @@ import SwiftUI import Combine -struct DestinationView: View { +struct DestinationSelectionView: View { @ObservedObject var destination: Destination var onVehicleSelect: (() -> Void)? var onPlanetSelect: (() -> Void)? @@ -49,7 +49,7 @@ struct DestinationView: View { } if destination.selectedPlanet != nil { ForEach(destination.vehicleList, id: \.self) { - SelectVehicleView(vehicle: $0, selectedVehicle: destination.selectedVehicle, onSelectVehicle: onSelectVehicle) + VehicleSelectionView(vehicle: $0, selectedVehicle: destination.selectedVehicle, onSelectVehicle: onSelectVehicle) } } } diff --git a/FindingFalcon/FindFalcon/UIComponents/SelectVehicleView.swift b/FindingFalcone/SelectDestinations/UIComponents/VehicleSelectionView.swift similarity index 91% rename from FindingFalcon/FindFalcon/UIComponents/SelectVehicleView.swift rename to FindingFalcone/SelectDestinations/UIComponents/VehicleSelectionView.swift index ed77cbb..2641d2a 100644 --- a/FindingFalcon/FindFalcon/UIComponents/SelectVehicleView.swift +++ b/FindingFalcone/SelectDestinations/UIComponents/VehicleSelectionView.swift @@ -1,13 +1,13 @@ // -// SelectVehicleView.swift -// FindingFalcon +// VehicleSelectionView.swift +// FindingFalcone // // Created by Pallab Maiti on 05/03/24. // import SwiftUI -struct SelectVehicleView: View { +struct VehicleSelectionView: View { let vehicle: Vehicle let selectedVehicle: Vehicle? let onSelectVehicle: (Vehicle) -> Void diff --git a/FindingFalcone/SelectDestinations/Workers/PlanetsAndVehiclesWorker.swift b/FindingFalcone/SelectDestinations/Workers/PlanetsAndVehiclesWorker.swift new file mode 100644 index 0000000..ff559d6 --- /dev/null +++ b/FindingFalcone/SelectDestinations/Workers/PlanetsAndVehiclesWorker.swift @@ -0,0 +1,26 @@ +// +// PlanetsAndVehiclesWorker.swift +// FindingFalcone +// +// Created by Pallab Maiti on 05/03/24. +// + +import Foundation + +protocol PlanetsAndVehiclesLogic { + func getPlanetsAndVehicles() async throws -> SelectDestinations.LoadPlanetsAndVehicles.Response +} + +final class PlanetsAndVehiclesWorker: PlanetsAndVehiclesLogic { + let networkManager: ServiceType + + init(networkManager: ServiceType) { + self.networkManager = networkManager + } + + func getPlanetsAndVehicles() async throws -> SelectDestinations.LoadPlanetsAndVehicles.Response { + let vehicles = try await networkManager.getVehicles() + let planets = try await networkManager.getPlanets() + return SelectDestinations.LoadPlanetsAndVehicles.Response(planets: planets.value, vehicles: vehicles.value) + } +} diff --git a/FindingFalcone/SelectDestinations/Workers/TokenWorker.swift b/FindingFalcone/SelectDestinations/Workers/TokenWorker.swift new file mode 100644 index 0000000..5f692a3 --- /dev/null +++ b/FindingFalcone/SelectDestinations/Workers/TokenWorker.swift @@ -0,0 +1,24 @@ +// +// TokenWorker.swift +// FindingFalcone +// +// Created by Pallab Maiti on 05/03/24. +// + +import Foundation + +protocol TokenLogic { + func retrieveToken() async throws -> SelectDestinations.RetrieveToken.Response +} + +final class TokenWorker: TokenLogic { + let networkManager: ServiceType + + init(networkManager: ServiceType) { + self.networkManager = networkManager + } + + func retrieveToken() async throws -> SelectDestinations.RetrieveToken.Response { + return try await networkManager.retrieveToken().value + } +} diff --git a/FindingFalconTests/FoundFalcon/FoundFalconInteractorTests.swift b/FindingFalconeTests/FindFalcone/FindFalconeInteractorTests.swift similarity index 59% rename from FindingFalconTests/FoundFalcon/FoundFalconInteractorTests.swift rename to FindingFalconeTests/FindFalcone/FindFalconeInteractorTests.swift index e541efe..c0b60ef 100644 --- a/FindingFalconTests/FoundFalcon/FoundFalconInteractorTests.swift +++ b/FindingFalconeTests/FindFalcone/FindFalconeInteractorTests.swift @@ -1,24 +1,24 @@ // -// FoundFalconInteractorTests.swift -// FindingFalconTests +// FindFalconeInteractorTests.swift +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone -final class FoundFalconInteractorTests: XCTestCase { - @MainActor func test_findFalcon() async throws { - let interactor = FoundFalconInteractor(dataModel: .mockAny(), token: .mockAny(), onStartAgain: nil) +final class FindFalconeInteractorTests: XCTestCase { + @MainActor func test_findFalcone() async throws { + let interactor = FindFalconeInteractor(dataModel: .mockAny(), token: .mockAny(), onStartAgain: nil) - let presenter = FoundFalconPresenterMock() + let presenter = FindFalconePresenterMock() interactor.presenter = presenter - let response = FoundFalcon.Find.Response(planetName: .mockAny(), status: .mockAny()) - interactor.worker = FoundFalconWorkerMock(response: response) + let response = FindFalcone.Find.Response(planetName: .mockAny(), status: .mockAny()) + interactor.worker = FindFalconeWorkerMock(response: response) - try await interactor.findFalcon() + try await interactor.findFalcone() XCTAssertTrue(presenter.presentFalconCalled) XCTAssertEqual(response, presenter.presentFalconResponse) @@ -28,9 +28,9 @@ final class FoundFalconInteractorTests: XCTestCase { let expectation = expectation(description: "Start Again should be called") expectation.expectedFulfillmentCount = 1 - let interactor = FoundFalconInteractor(dataModel: .mockAny(), token: .mockAny(), onStartAgain: expectation.fulfill) + let interactor = FindFalconeInteractor(dataModel: .mockAny(), token: .mockAny(), onStartAgain: expectation.fulfill) - let presenter = FoundFalconPresenterMock() + let presenter = FindFalconePresenterMock() interactor.presenter = presenter interactor.startAgain() @@ -39,11 +39,11 @@ final class FoundFalconInteractorTests: XCTestCase { } @MainActor func test_getTotalTimeTaken() async throws { - let dataModel: FindFalconDataModel = .mockAny() + let dataModel: SelectDestinationsDataModel = .mockAny() - let interactor = FoundFalconInteractor(dataModel: dataModel, token: .mockAny(), onStartAgain: nil) + let interactor = FindFalconeInteractor(dataModel: dataModel, token: .mockAny(), onStartAgain: nil) - let presenter = FoundFalconPresenterMock() + let presenter = FindFalconePresenterMock() interactor.presenter = presenter await interactor.getTotalTimeTaken() diff --git a/FindingFalconTests/FoundFalcon/FoundFalconPresenterTests.swift b/FindingFalconeTests/FindFalcone/FindFalconePresenterTests.swift similarity index 50% rename from FindingFalconTests/FoundFalcon/FoundFalconPresenterTests.swift rename to FindingFalconeTests/FindFalcone/FindFalconePresenterTests.swift index 7627ffb..aebb6ae 100644 --- a/FindingFalconTests/FoundFalcon/FoundFalconPresenterTests.swift +++ b/FindingFalconeTests/FindFalcone/FindFalconePresenterTests.swift @@ -1,45 +1,45 @@ // -// FoundFalconPresenterTests.swift -// FindingFalconTests +// FindFalconePresenterTests.swift +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone -final class FoundFalconPresenterTests: XCTestCase { - func test_presentFalcon_Success() { - let view = FoundFalconDisplayMock() +final class FindFalconePresenterTests: XCTestCase { + func test_presentFalcone_Success() { + let view = FindFalconeDisplayMock() - let presenter = FoundFalconPresenter() + let presenter = FindFalconePresenter() presenter.view = view let planetName: String? = .mockAny() - presenter.presentFalcon(.mockRandom(planetName: planetName, status: "success")) + presenter.presentFalcone(.mockRandom(planetName: planetName, status: "success")) XCTAssertTrue(view.displaySuccessCalled) XCTAssertEqual(view.displaySuccessViewModel?.planetName, planetName) } - func test_presentFalcon_Failure() { - let view = FoundFalconDisplayMock() + func test_presentFalcone_Failure() { + let view = FindFalconeDisplayMock() - let presenter = FoundFalconPresenter() + let presenter = FindFalconePresenter() presenter.view = view - presenter.presentFalcon(.mockRandom(status: "false")) + presenter.presentFalcone(.mockRandom(status: "false")) XCTAssertTrue(view.displayFailureCalled) } func test_presentTotalTimeTaken() { - let view = FoundFalconDisplayMock() + let view = FindFalconeDisplayMock() - let presenter = FoundFalconPresenter() + let presenter = FindFalconePresenter() presenter.view = view - let response: FoundFalcon.TotalTimeTaken.Response = .mockAny() + let response: FindFalcone.TotalTimeTaken.Response = .mockAny() presenter.presentTotalTimeTaken(response) XCTAssertTrue(view.displayTotalTimeTakenCalled) diff --git a/FindingFalconTests/FoundFalcon/FoundFalconViewTests.swift b/FindingFalconeTests/FindFalcone/FindFalconeViewTests.swift similarity index 51% rename from FindingFalconTests/FoundFalcon/FoundFalconViewTests.swift rename to FindingFalconeTests/FindFalcone/FindFalconeViewTests.swift index 960bc92..44c6a03 100644 --- a/FindingFalconTests/FoundFalcon/FoundFalconViewTests.swift +++ b/FindingFalconeTests/FindFalcone/FindFalconeViewTests.swift @@ -1,29 +1,29 @@ // -// FoundFalconViewTests.swift -// FindingFalconTests +// FindFalconeViewTests.swift +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone -final class FoundFalconViewTests: XCTestCase { - @MainActor func test_findFalcon() async { - var view = FoundFalconView() +final class FindFalconeViewTests: XCTestCase { + @MainActor func test_findFalcone() async { + var view = FindFalconeView() - let interactor = FoundFalconInteractorMock() + let interactor = FindFalconeInteractorMock() view.interactor = interactor - await view.findFalcon() + await view.findFalcone() - XCTAssertTrue(interactor.findFalconCalled) + XCTAssertTrue(interactor.findFalconeCalled) } @MainActor func test_getTotalTimeTaken() async { - var view = FoundFalconView() + var view = FindFalconeView() - let interactor = FoundFalconInteractorMock() + let interactor = FindFalconeInteractorMock() view.interactor = interactor await view.getTotalTimeTaken() @@ -32,9 +32,9 @@ final class FoundFalconViewTests: XCTestCase { } @MainActor func test_startAgain() async { - var view = FoundFalconView() + var view = FindFalconeView() - let interactor = FoundFalconInteractorMock() + let interactor = FindFalconeInteractorMock() view.interactor = interactor view.startAgain() diff --git a/FindingFalconeTests/FindFalcone/FindFalconeWorkerTests.swift b/FindingFalconeTests/FindFalcone/FindFalconeWorkerTests.swift new file mode 100644 index 0000000..1d2c74a --- /dev/null +++ b/FindingFalconeTests/FindFalcone/FindFalconeWorkerTests.swift @@ -0,0 +1,24 @@ +// +// FindFalconeWorkerTests.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import XCTest +@testable import FindingFalcone + +final class FindFalconeWorkerTests: XCTestCase { + func test_findFalcone() async throws { + let value: FindFalcone.Find.Response = .mockAny() + let networkManager = NetworkManagerMock( + findFalconeResponse: APIResponse( + value: value, needsRetry: false + ) + ) + let worker = FindFalconeWorker(networkManager: networkManager) + + let response = try await worker.findFalcone(.mockAny()) + XCTAssertEqual(value, response) + } +} diff --git a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconDisplayMock.swift b/FindingFalconeTests/FindFalcone/Mocks/FindFalconeDisplayMock.swift similarity index 51% rename from FindingFalconTests/FoundFalcon/Mocks/FoundFalconDisplayMock.swift rename to FindingFalconeTests/FindFalcone/Mocks/FindFalconeDisplayMock.swift index 3e9f1c5..8530a16 100644 --- a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconDisplayMock.swift +++ b/FindingFalconeTests/FindFalcone/Mocks/FindFalconeDisplayMock.swift @@ -1,30 +1,30 @@ // -// FoundFalconDisplayMock.swift -// FindingFalconTests +// FindFalconeDisplayMock.swift +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import Foundation -@testable import FindingFalcon +@testable import FindingFalcone -class FoundFalconDisplayMock: FoundFalconDisplayLogic { +class FindFalconeDisplayMock: FindFalconeDisplayLogic { var displaySuccessCalled = false var displayFailureCalled = false var displayTotalTimeTakenCalled = false - var displaySuccessViewModel: FoundFalcon.Find.ViewModelSuccess? - var displayTotalTimeTakenViewModel: FoundFalcon.TotalTimeTaken.ViewModel? + var displaySuccessViewModel: FindFalcone.Find.ViewModelSuccess? + var displayTotalTimeTakenViewModel: FindFalcone.TotalTimeTaken.ViewModel? - func displaySuccess(viewModel: FoundFalcon.Find.ViewModelSuccess) { + func displaySuccess(viewModel: FindFalcone.Find.ViewModelSuccess) { displaySuccessViewModel = viewModel displaySuccessCalled = true } - func displayFailure(viewModel: FoundFalcon.Find.ViewModelFailure) { + func displayFailure(viewModel: FindFalcone.Find.ViewModelFailure) { displayFailureCalled = true } - func displayTotalTimeTaken(viewModel: FoundFalcon.TotalTimeTaken.ViewModel) { + func displayTotalTimeTaken(viewModel: FindFalcone.TotalTimeTaken.ViewModel) { displayTotalTimeTakenViewModel = viewModel displayTotalTimeTakenCalled = true } diff --git a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconInteractorMock.swift b/FindingFalconeTests/FindFalcone/Mocks/FindFalconeInteractorMock.swift similarity index 54% rename from FindingFalconTests/FoundFalcon/Mocks/FoundFalconInteractorMock.swift rename to FindingFalconeTests/FindFalcone/Mocks/FindFalconeInteractorMock.swift index a945a03..bf4d6bf 100644 --- a/FindingFalconTests/FoundFalcon/Mocks/FoundFalconInteractorMock.swift +++ b/FindingFalconeTests/FindFalcone/Mocks/FindFalconeInteractorMock.swift @@ -1,20 +1,20 @@ // -// FoundFalconInteractorMock.swift -// FindingFalconTests +// FindFalconeInteractorMock.swift +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import Foundation -@testable import FindingFalcon +@testable import FindingFalcone -class FoundFalconInteractorMock: FoundFalconBusinessLogic { - var findFalconCalled = false +class FindFalconeInteractorMock: FindFalconeBusinessLogic { + var findFalconeCalled = false var startAgainCalled = false var getTotalTimeTakenCalled = false - func findFalcon() async throws { - findFalconCalled = true + func findFalcone() async throws { + findFalconeCalled = true } func startAgain() { diff --git a/FindingFalconeTests/FindFalcone/Mocks/FindFalconeModelMocks.swift b/FindingFalconeTests/FindFalcone/Mocks/FindFalconeModelMocks.swift new file mode 100644 index 0000000..83ee341 --- /dev/null +++ b/FindingFalconeTests/FindFalcone/Mocks/FindFalconeModelMocks.swift @@ -0,0 +1,51 @@ +// +// FindFalconeModelMocks.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import Foundation +@testable import FindingFalcone + +extension FindFalcone.Find.Response: AnyMockable { + public static func mockAny() -> FindFalcone.Find.Response { + return mockRandom() + } + + static func mockRandom( + planetName: String? = .mockAny(), + status: String = .mockAny() + ) -> FindFalcone.Find.Response { + return FindFalcone.Find.Response( + planetName: planetName, + status: status + ) + } +} + +extension FindFalcone.Find.Request: AnyMockable { + public static func mockAny() -> FindFalcone.Find.Request { + return mockRandom() + } + + static func mockRandom( + token: String = .mockAny(), + planetNames: [String] = [.mockAny()], + vehicleNames: [String] = [.mockAny()] + ) -> FindFalcone.Find.Request { + return FindFalcone.Find.Request(token: token, planetNames: planetNames, vehicleNames: vehicleNames) + } +} + +extension FindFalcone.TotalTimeTaken.Response: AnyMockable { + public static func mockAny() -> FindFalcone.TotalTimeTaken.Response { + return mockRandom() + } + + static func mockRandom( + totalTimeTaken: Int = .mockAny() + ) -> FindFalcone.TotalTimeTaken.Response { + return FindFalcone.TotalTimeTaken.Response(totalTimeTaken: totalTimeTaken) + } +} diff --git a/FindingFalconeTests/FindFalcone/Mocks/FindFalconePresenterMock.swift b/FindingFalconeTests/FindFalcone/Mocks/FindFalconePresenterMock.swift new file mode 100644 index 0000000..7771f81 --- /dev/null +++ b/FindingFalconeTests/FindFalcone/Mocks/FindFalconePresenterMock.swift @@ -0,0 +1,26 @@ +// +// FindFalconePresenterMock.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import Foundation +@testable import FindingFalcone + +class FindFalconePresenterMock: FindFalconePresentationLogic { + var presentFalconCalled = false + var presentTotalTimeTakenCalled = false + var presentFalconResponse: FindFalcone.Find.Response? + var presentTotalTimeTakenResponse: FindFalcone.TotalTimeTaken.Response? + + func presentFalcone(_ response: FindFalcone.Find.Response) { + presentFalconCalled = true + presentFalconResponse = response + } + + func presentTotalTimeTaken(_ response: FindFalcone.TotalTimeTaken.Response) { + presentTotalTimeTakenCalled = true + presentTotalTimeTakenResponse = response + } +} diff --git a/FindingFalconeTests/FindFalcone/Mocks/FindFalconeWorkerMock.swift b/FindingFalconeTests/FindFalcone/Mocks/FindFalconeWorkerMock.swift new file mode 100644 index 0000000..b20dc58 --- /dev/null +++ b/FindingFalconeTests/FindFalcone/Mocks/FindFalconeWorkerMock.swift @@ -0,0 +1,22 @@ +// +// FindFalconeWorkerMock.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import Foundation +@testable import FindingFalcone + +class FindFalconeWorkerMock: FindFalconeLogic { + + let response: FindFalcone.Find.Response + + init(response: FindFalcone.Find.Response = .mockAny()) { + self.response = response + } + + func findFalcone(_ request: FindFalcone.Find.Request) async throws -> FindFalcone.Find.Response { + return response + } +} diff --git a/FindingFalconeTests/Mocks/NetworkManagerMock.swift b/FindingFalconeTests/Mocks/NetworkManagerMock.swift new file mode 100644 index 0000000..10c550d --- /dev/null +++ b/FindingFalconeTests/Mocks/NetworkManagerMock.swift @@ -0,0 +1,46 @@ +// +// NetworkManagerMock.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import Foundation +@testable import FindingFalcone + +class NetworkManagerMock: ServiceType { + let findFalconeResponse: APIResponse + let retrieveTokenResponse: APIResponse + let getVehiclesResponse: APIResponse<[SelectDestinations.LoadVehicles.Response]> + let getPlanetsResponse: APIResponse<[SelectDestinations.LoadPlanets.Response]> + + init( + findFalconeResponse: APIResponse = APIResponse(value: .mockAny(), needsRetry: false), + retrieveTokenResponse: APIResponse = APIResponse(value: .mockAny(), needsRetry: false), + getVehiclesResponse: APIResponse<[SelectDestinations.LoadVehicles.Response]> = APIResponse(value: [.mockAny()], needsRetry: false), + getPlanetsResponse: APIResponse<[SelectDestinations.LoadPlanets.Response]> = APIResponse(value: [.mockAny()], needsRetry: false) + ) { + self.findFalconeResponse = findFalconeResponse + self.retrieveTokenResponse = retrieveTokenResponse + self.getVehiclesResponse = getVehiclesResponse + self.getPlanetsResponse = getPlanetsResponse + } + + func findFalcone(_ request: FindFalcone.Find.Request) async throws -> APIResponse { + return findFalconeResponse + } + + func retrieveToken() async throws -> APIResponse { + return retrieveTokenResponse + } + + func getVehicles() async throws -> APIResponse<[SelectDestinations.LoadVehicles.Response]> { + return getVehiclesResponse + } + + func getPlanets() async throws -> APIResponse<[SelectDestinations.LoadPlanets.Response]> { + return getPlanetsResponse + } + + +} diff --git a/FindingFalconTests/Networking/Mocks/APIClientMock.swift b/FindingFalconeTests/Networking/Mocks/APIClientMock.swift similarity index 95% rename from FindingFalconTests/Networking/Mocks/APIClientMock.swift rename to FindingFalconeTests/Networking/Mocks/APIClientMock.swift index 04fafb9..657c1c9 100644 --- a/FindingFalconTests/Networking/Mocks/APIClientMock.swift +++ b/FindingFalconeTests/Networking/Mocks/APIClientMock.swift @@ -1,12 +1,12 @@ // // APIClientMock.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 13/03/24. // import Foundation -@testable import FindingFalcon +@testable import FindingFalcone class APIClientMock: APIClient { let result: (URLRequest) -> Result diff --git a/FindingFalconTests/Networking/Mocks/ServerMock.swift b/FindingFalconeTests/Networking/Mocks/ServerMock.swift similarity index 98% rename from FindingFalconTests/Networking/Mocks/ServerMock.swift rename to FindingFalconeTests/Networking/Mocks/ServerMock.swift index 9422d33..d503cf1 100644 --- a/FindingFalconTests/Networking/Mocks/ServerMock.swift +++ b/FindingFalconeTests/Networking/Mocks/ServerMock.swift @@ -1,6 +1,6 @@ // // ServerMock.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 14/03/24. // diff --git a/FindingFalconTests/Networking/NetworkManagerTests.swift b/FindingFalconeTests/Networking/NetworkManagerTests.swift similarity index 80% rename from FindingFalconTests/Networking/NetworkManagerTests.swift rename to FindingFalconeTests/Networking/NetworkManagerTests.swift index 710a055..5ea684a 100644 --- a/FindingFalconTests/Networking/NetworkManagerTests.swift +++ b/FindingFalconeTests/Networking/NetworkManagerTests.swift @@ -1,17 +1,17 @@ // // NetworkManagerTests.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 13/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone final class NetworkManagerTests: XCTestCase { func test_getVehicles_Success() async throws { let response: HTTPURLResponse = .mockResponseWith(statusCode: 200) - let vehicleList: [FindingFalcon.LoadVehicles.Response] = [.mockAny(), .mockAny(), .mockAny()] + let vehicleList: [SelectDestinations.LoadVehicles.Response] = [.mockAny(), .mockAny(), .mockAny()] let apiClient = APIClientMock(response: response, data: try? JSONEncoder().encode(vehicleList)) let networkManager = NetworkManager(apiClient: apiClient, responseHandler: ResponseHandler()) @@ -35,7 +35,7 @@ final class NetworkManagerTests: XCTestCase { func test_getPlanets_Success() async throws { let response: HTTPURLResponse = .mockResponseWith(statusCode: 200) - let planetList: [FindingFalcon.LoadPlanets.Response] = [.mockAny(), .mockAny(), .mockAny()] + let planetList: [SelectDestinations.LoadPlanets.Response] = [.mockAny(), .mockAny(), .mockAny()] let apiClient = APIClientMock(response: response, data: try? JSONEncoder().encode(planetList)) let networkManager = NetworkManager(apiClient: apiClient, responseHandler: ResponseHandler()) @@ -57,48 +57,48 @@ final class NetworkManagerTests: XCTestCase { } } - func test_findFalcon_Success_it_returns_planetName() async throws { + func test_findFalcone_Success_it_returns_planetName() async throws { let response: HTTPURLResponse = .mockResponseWith(statusCode: 200) - let findFalcon: FoundFalcon.Find.Response = .mockRandom(planetName: .mockAny(), status: "success") + let findFalcon: FindFalcone.Find.Response = .mockRandom(planetName: .mockAny(), status: "success") let apiClient = APIClientMock(response: response, data: try? JSONEncoder().encode(findFalcon)) let networkManager = NetworkManager(apiClient: apiClient, responseHandler: ResponseHandler()) - let expectedResponse = try await networkManager.findFalcon(FoundFalcon.Find.Request(token: .mockAny(), planetNames: [.mockAny()], vehicleNames: [.mockAny()])) + let expectedResponse = try await networkManager.findFalcone(FindFalcone.Find.Request(token: .mockAny(), planetNames: [.mockAny()], vehicleNames: [.mockAny()])) XCTAssertEqual(findFalcon, expectedResponse.value, "Falcon found") } - func test_findFalcon_Success_it_doesn_not_return_planetName() async throws { + func test_findFalcone_Success_it_doesn_not_return_planetName() async throws { let response: HTTPURLResponse = .mockResponseWith(statusCode: 200) - let findFalcon: FoundFalcon.Find.Response = .mockRandom(planetName: nil, status: "false") + let findFalcon: FindFalcone.Find.Response = .mockRandom(planetName: nil, status: "false") let apiClient = APIClientMock(response: response, data: try? JSONEncoder().encode(findFalcon)) let networkManager = NetworkManager(apiClient: apiClient, responseHandler: ResponseHandler()) - let expectedResponse = try await networkManager.findFalcon(FoundFalcon.Find.Request(token: .mockAny(), planetNames: [.mockAny()], vehicleNames: [.mockAny()])) + let expectedResponse = try await networkManager.findFalcone(FindFalcone.Find.Request(token: .mockAny(), planetNames: [.mockAny()], vehicleNames: [.mockAny()])) XCTAssertEqual(findFalcon, expectedResponse.value, "Falcon not found") } - func test_findFalcon_Failure() async { + func test_findFalcone_Failure() async { let response: HTTPURLResponse = .mockResponseWith(statusCode: 500) let apiClient = APIClientMock(response: response) let networkManager = NetworkManager(apiClient: apiClient, responseHandler: ResponseHandler()) do { - _ = try await networkManager.findFalcon(FoundFalcon.Find.Request(token: .mockAny(), planetNames: [.mockAny()], vehicleNames: [.mockAny()])) + _ = try await networkManager.findFalcone(FindFalcone.Find.Request(token: .mockAny(), planetNames: [.mockAny()], vehicleNames: [.mockAny()])) XCTFail("Server should return error") } catch { XCTAssertTrue(true, "Server returns error") } } - func test_findFalcon_Failure_it_needs_retry() async { + func test_findFalcone_Failure_it_needs_retry() async { let response: HTTPURLResponse = .mockResponseWith(statusCode: 400) let apiClient = APIClientMock(response: response) let networkManager = NetworkManager(apiClient: apiClient, responseHandler: ResponseHandler()) do { - _ = try await networkManager.findFalcon(FoundFalcon.Find.Request(token: .mockAny(), planetNames: [.mockAny()], vehicleNames: [.mockAny()])) + _ = try await networkManager.findFalcone(FindFalcone.Find.Request(token: .mockAny(), planetNames: [.mockAny()], vehicleNames: [.mockAny()])) XCTFail("Server should return error") } catch { if let error: APIError = error as? APIError, case .noData(let result) = error { @@ -111,7 +111,7 @@ final class NetworkManagerTests: XCTestCase { func test_retrieveToken_Success() async throws { let response: HTTPURLResponse = .mockResponseWith(statusCode: 200) - let token: FindingFalcon.RetrieveToken.Response = .mockAny() + let token: SelectDestinations.RetrieveToken.Response = .mockAny() let apiClient = APIClientMock(response: response, data: try? JSONEncoder().encode(token)) let networkManager = NetworkManager(apiClient: apiClient, responseHandler: ResponseHandler()) diff --git a/FindingFalconTests/Networking/ResponseHandlerTests.swift b/FindingFalconeTests/Networking/ResponseHandlerTests.swift similarity index 95% rename from FindingFalconTests/Networking/ResponseHandlerTests.swift rename to FindingFalconeTests/Networking/ResponseHandlerTests.swift index 5554166..a9786a8 100644 --- a/FindingFalconTests/Networking/ResponseHandlerTests.swift +++ b/FindingFalconeTests/Networking/ResponseHandlerTests.swift @@ -1,12 +1,12 @@ // // ResponseHandlerTests.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 14/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone final class ResponseHandlerTests: XCTestCase { func test_parseData_Success() throws { diff --git a/FindingFalconTests/Networking/URLSessionClientTests.swift b/FindingFalconeTests/Networking/URLSessionClientTests.swift similarity index 90% rename from FindingFalconTests/Networking/URLSessionClientTests.swift rename to FindingFalconeTests/Networking/URLSessionClientTests.swift index 5bfa684..ac8d915 100644 --- a/FindingFalconTests/Networking/URLSessionClientTests.swift +++ b/FindingFalconeTests/Networking/URLSessionClientTests.swift @@ -1,12 +1,12 @@ // // URLSessionClientTests.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 14/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone final class URLSessionClientTests: XCTestCase { @@ -45,11 +45,11 @@ extension API: AnyMockable { case 1: return .getVehicles case 2: - return .findFalcon(.mockAny()) + return .findFalcone(.mockAny()) case 3: return .retrieveToken default: - return .findFalcon(.mockAny()) + return .findFalcone(.mockAny()) } } } diff --git a/FindingFalconTests/FindFalcon/Mocks/ModelMocks.swift b/FindingFalconeTests/SelectDestinations/Mocks/ModelMocks.swift similarity index 93% rename from FindingFalconTests/FindFalcon/Mocks/ModelMocks.swift rename to FindingFalconeTests/SelectDestinations/Mocks/ModelMocks.swift index 2a27eac..97e2ebd 100644 --- a/FindingFalconTests/FindFalcon/Mocks/ModelMocks.swift +++ b/FindingFalconeTests/SelectDestinations/Mocks/ModelMocks.swift @@ -1,12 +1,12 @@ // // ModelMocks.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 13/03/24. // import Foundation -@testable import FindingFalcon +@testable import FindingFalcone extension Planet: AnyMockable { public static func mockAny() -> Planet { @@ -36,7 +36,7 @@ extension Vehicle: AnyMockable { } } -extension FindFalconDataModel: AnyMockable { +extension SelectDestinationsDataModel: AnyMockable { public static func mockAny() -> Self { return mockRandom() } @@ -76,7 +76,7 @@ extension Token: AnyMockable { } } -extension FindFalconDataStore: AnyMockable { +extension SelectDestinationsDataStore: AnyMockable { public static func mockAny() -> Self { return mockRandom() } diff --git a/FindingFalconeTests/SelectDestinations/Mocks/PlanetsAndVehiclesWorkerMock.swift b/FindingFalconeTests/SelectDestinations/Mocks/PlanetsAndVehiclesWorkerMock.swift new file mode 100644 index 0000000..7f4b20d --- /dev/null +++ b/FindingFalconeTests/SelectDestinations/Mocks/PlanetsAndVehiclesWorkerMock.swift @@ -0,0 +1,21 @@ +// +// SelectDestinationsPlanetsAndVehiclesWorkerMock.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import Foundation +@testable import FindingFalcone + +class PlanetsAndVehiclesWorkerMock: PlanetsAndVehiclesLogic { + let response: SelectDestinations.LoadPlanetsAndVehicles.Response + + init(response: SelectDestinations.LoadPlanetsAndVehicles.Response = .mockAny()) { + self.response = response + } + + func getPlanetsAndVehicles() async throws -> SelectDestinations.LoadPlanetsAndVehicles.Response { + return response + } +} diff --git a/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsDisplayMock.swift b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsDisplayMock.swift new file mode 100644 index 0000000..9b17161 --- /dev/null +++ b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsDisplayMock.swift @@ -0,0 +1,26 @@ +// +// SelectDestinationsDisplayMock.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import Foundation +@testable import FindingFalcone + +class SelectDestinationsDisplayMock: SelectDestinationsDisplayLogic { + var displayPlanetsAndVehiclesCalled = false + var displayTokenCalled = false + var displayPlanetsAndVehiclesViewModel: SelectDestinations.LoadPlanetsAndVehicles.ViewModel? + var displayTokenViewModel: SelectDestinations.RetrieveToken.ViewModel? + + func displayPlanetsAndVehicles(viewModel: SelectDestinations.LoadPlanetsAndVehicles.ViewModel) { + displayPlanetsAndVehiclesCalled = true + displayPlanetsAndVehiclesViewModel = viewModel + } + + func displayToken(viewModel: SelectDestinations.RetrieveToken.ViewModel) { + displayTokenCalled = true + displayTokenViewModel = viewModel + } +} diff --git a/FindingFalconTests/FindFalcon/Mocks/FindFalconInteractorErrorMock.swift b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsInteractorErrorMock.swift similarity index 57% rename from FindingFalconTests/FindFalcon/Mocks/FindFalconInteractorErrorMock.swift rename to FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsInteractorErrorMock.swift index e907809..eb0f7d5 100644 --- a/FindingFalconTests/FindFalcon/Mocks/FindFalconInteractorErrorMock.swift +++ b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsInteractorErrorMock.swift @@ -1,14 +1,14 @@ // -// FindFalconInteractorErrorMock.swift -// FindingFalconTests +// SelectDestinationsInteractorErrorMock.swift +// FindingFalconeTests // // Created by Pallab Maiti on 16/03/24. // import Foundation -@testable import FindingFalcon +@testable import FindingFalcone -class FindFalconInteractorErrorMock: FindFalconBusinessLogic { +class SelectDestinationsInteractorErrorMock: SelectDestinationsBusinessLogic { func retrieveToken() async throws { throw APIError.noResponse diff --git a/FindingFalconTests/FindFalcon/Mocks/FindFalconInteractorMock.swift b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsInteractorMock.swift similarity index 71% rename from FindingFalconTests/FindFalcon/Mocks/FindFalconInteractorMock.swift rename to FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsInteractorMock.swift index 018ef76..b86d247 100644 --- a/FindingFalconTests/FindFalcon/Mocks/FindFalconInteractorMock.swift +++ b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsInteractorMock.swift @@ -1,14 +1,14 @@ // -// FindFalconInteractorMock.swift -// FindingFalconTests +// SelectDestinationsInteractorMock.swift +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import Foundation -@testable import FindingFalcon +@testable import FindingFalcone -class FindFalconInteractorMock: FindFalconBusinessLogic { +class SelectDestinationsInteractorMock: SelectDestinationsBusinessLogic { var retrieveTokenCalled = false var getPlanetsAndVehiclesCalled = false var startAgainCalled = false diff --git a/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsModelMocks.swift b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsModelMocks.swift new file mode 100644 index 0000000..d42b40a --- /dev/null +++ b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsModelMocks.swift @@ -0,0 +1,70 @@ +// +// SelectDestinationsModelMocks.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import Foundation +@testable import FindingFalcone + +extension SelectDestinations.LoadVehicles.Response: AnyMockable { + public static func mockAny() -> SelectDestinations.LoadVehicles.Response { + return .mockRandom() + } + + static func mockRandom( + name: String = .mockAny(), + totalNo: Int = .mockAny(), + maxDistance: Int = .mockAny(), + speed: Int = .mockAny() + ) -> SelectDestinations.LoadVehicles.Response { + return SelectDestinations.LoadVehicles.Response( + name: name, + totalNo: totalNo, + maxDistance: maxDistance, + speed: speed + ) + } +} + +extension SelectDestinations.LoadPlanets.Response: AnyMockable { + public static func mockAny() -> SelectDestinations.LoadPlanets.Response { + return mockRandom() + } + + static func mockRandom( + name: String = .mockAny(), + distance: Int = .mockAny() + ) -> SelectDestinations.LoadPlanets.Response { + return SelectDestinations.LoadPlanets.Response( + name: name, + distance: distance + ) + } +} + +extension SelectDestinations.RetrieveToken.Response: AnyMockable { + public static func mockAny() -> SelectDestinations.RetrieveToken.Response { + return mockRandom() + } + + static func mockRandom( + token: String = .mockAny() + ) -> SelectDestinations.RetrieveToken.Response { + return SelectDestinations.RetrieveToken.Response(token: token) + } +} + +extension SelectDestinations.LoadPlanetsAndVehicles.Response: AnyMockable { + public static func mockAny() -> SelectDestinations.LoadPlanetsAndVehicles.Response { + return mockRandom() + } + + static func mockRandom( + planets: [SelectDestinations.LoadPlanets.Response] = [.mockAny()], + vehicles: [SelectDestinations.LoadVehicles.Response] = [.mockAny()] + ) -> SelectDestinations.LoadPlanetsAndVehicles.Response { + return SelectDestinations.LoadPlanetsAndVehicles.Response(planets: planets, vehicles: vehicles) + } +} diff --git a/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsPresenterMock.swift b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsPresenterMock.swift new file mode 100644 index 0000000..e05a1c5 --- /dev/null +++ b/FindingFalconeTests/SelectDestinations/Mocks/SelectDestinationsPresenterMock.swift @@ -0,0 +1,26 @@ +// +// SelectDestinationsPresenterMock.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import Foundation +@testable import FindingFalcone + +class SelectDestinationsPresenterMock: SelectDestinationsPresentationLogic { + var presentPlanetsAndVehiclesCalled = false + var presentTokenCalled = false + var presentPlanetsAndVehiclesResponse: SelectDestinations.LoadPlanetsAndVehicles.Response? + var presentTokenResponse: SelectDestinations.RetrieveToken.Response? + + func presentPlanetsAndVehicles(_ response: SelectDestinations.LoadPlanetsAndVehicles.Response) { + presentPlanetsAndVehiclesCalled = true + presentPlanetsAndVehiclesResponse = response + } + + func presentToken(_ response: SelectDestinations.RetrieveToken.Response) { + presentTokenCalled = true + presentTokenResponse = response + } +} diff --git a/FindingFalconeTests/SelectDestinations/Mocks/TokenWorkerMock.swift b/FindingFalconeTests/SelectDestinations/Mocks/TokenWorkerMock.swift new file mode 100644 index 0000000..db97835 --- /dev/null +++ b/FindingFalconeTests/SelectDestinations/Mocks/TokenWorkerMock.swift @@ -0,0 +1,21 @@ +// +// SelectDestinationsTokenWorkerMock.swift +// FindingFalconeTests +// +// Created by Pallab Maiti on 15/03/24. +// + +import Foundation +@testable import FindingFalcone + +class TokenWorkerMock: TokenLogic { + let response: SelectDestinations.RetrieveToken.Response + + init(response: SelectDestinations.RetrieveToken.Response = .mockAny()) { + self.response = response + } + + func retrieveToken() async throws -> SelectDestinations.RetrieveToken.Response { + return response + } +} diff --git a/FindingFalconTests/FindFalcon/Models/FindFalconDataModelTests.swift b/FindingFalconeTests/SelectDestinations/Models/SelectDestinationsDataModelTests.swift similarity index 94% rename from FindingFalconTests/FindFalcon/Models/FindFalconDataModelTests.swift rename to FindingFalconeTests/SelectDestinations/Models/SelectDestinationsDataModelTests.swift index 768d767..25a1985 100644 --- a/FindingFalconTests/FindFalcon/Models/FindFalconDataModelTests.swift +++ b/FindingFalconeTests/SelectDestinations/Models/SelectDestinationsDataModelTests.swift @@ -1,14 +1,14 @@ // -// FindFalconDataModelTests.swift -// FindingFalconTests +// SelectDestinationsDataModelTests.swift +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone -final class FindFalconDataModelTests: XCTestCase { +final class SelectDestinationsDataModelTests: XCTestCase { func test_Destination() { let name: String = .mockAny() let planetList: [Planet] = [.mockAny()] @@ -54,7 +54,7 @@ final class FindFalconDataModelTests: XCTestCase { let destination1: Destination = .mockRandom(name: .mockRandom(), planetList: [], vehicleList: [], selectedVehicle: nil, selectedPlanet: nil) let destination2: Destination = .mockRandom(name: .mockRandom(), planetList: [], vehicleList: [], selectedVehicle: nil, selectedPlanet: nil) - let dataModel = FindFalconDataModel(destinations: [destination1, destination2]) + let dataModel = SelectDestinationsDataModel(destinations: [destination1, destination2]) XCTAssertTrue(dataModel.shouldButtonDisabled) XCTAssertEqual(dataModel.totalTimeTaken, 0) diff --git a/FindingFalconTests/FindFalcon/Models/FindFalconDataStoreTests.swift b/FindingFalconeTests/SelectDestinations/Models/SelectDestinationsDataStoreTests.swift similarity index 80% rename from FindingFalconTests/FindFalcon/Models/FindFalconDataStoreTests.swift rename to FindingFalconeTests/SelectDestinations/Models/SelectDestinationsDataStoreTests.swift index 7766a78..30d5ff8 100644 --- a/FindingFalconTests/FindFalcon/Models/FindFalconDataStoreTests.swift +++ b/FindingFalconeTests/SelectDestinations/Models/SelectDestinationsDataStoreTests.swift @@ -1,16 +1,16 @@ // -// FindFalconDataStoreTests.swift -// FindingFalconTests +// SelectDestinationsDataStoreTests.swift +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone -final class FindFalconDataStoreTests: XCTestCase { +final class SelectDestinationsDataStoreTests: XCTestCase { func text_DataStore() { - let dataStore = FindFalconDataStore() + let dataStore = SelectDestinationsDataStore() XCTAssertTrue(dataStore.isLoading) XCTAssertEqual(dataStore.planetList, []) diff --git a/FindingFalconTests/FindFalcon/FindFalconInteractorTests.swift b/FindingFalconeTests/SelectDestinations/SelectDestinationsInteractorTests.swift similarity index 53% rename from FindingFalconTests/FindFalcon/FindFalconInteractorTests.swift rename to FindingFalconeTests/SelectDestinations/SelectDestinationsInteractorTests.swift index 5e2cb6a..dba468e 100644 --- a/FindingFalconTests/FindFalcon/FindFalconInteractorTests.swift +++ b/FindingFalconeTests/SelectDestinations/SelectDestinationsInteractorTests.swift @@ -1,21 +1,21 @@ // -// FindFalconInteractorTests.swift -// FindingFalconTests +// SelectDestinationsInteractorTests.swift +// SelectDestinationsTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone -final class FindFalconInteractorTests: XCTestCase { +final class SelectDestinationsInteractorTests: XCTestCase { @MainActor func test_retrieveToken() async throws { - let response: FindingFalcon.RetrieveToken.Response = .mockAny() - let tokenWorker = FindFalconTokenWorkerMock(response: response) + let response: SelectDestinations.RetrieveToken.Response = .mockAny() + let tokenWorker = TokenWorkerMock(response: response) - let presenter = FindFalconPresenterMock() + let presenter = SelectDestinationsPresenterMock() - let interactor = FindFalconInteractor() + let interactor = SelectDestinationsInteractor() interactor.presenter = presenter interactor.tokenWorker = tokenWorker @@ -26,12 +26,12 @@ final class FindFalconInteractorTests: XCTestCase { } @MainActor func test_getPlanetsAndVehicles() async throws { - let response: FindingFalcon.LoadPlanetsAndVehicles.Response = .mockAny() - let planetsAndVehiclesWorker = FindFalconPlanetsAndVehiclesWorkerMock(response: response) + let response: SelectDestinations.LoadPlanetsAndVehicles.Response = .mockAny() + let planetsAndVehiclesWorker = PlanetsAndVehiclesWorkerMock(response: response) - let presenter = FindFalconPresenterMock() + let presenter = SelectDestinationsPresenterMock() - let interactor = FindFalconInteractor() + let interactor = SelectDestinationsInteractor() interactor.presenter = presenter interactor.planetsAndVehiclesWorker = planetsAndVehiclesWorker diff --git a/FindingFalconTests/FindFalcon/FindFalconPresenterTests.swift b/FindingFalconeTests/SelectDestinations/SelectDestinationsPresenterTests.swift similarity index 62% rename from FindingFalconTests/FindFalcon/FindFalconPresenterTests.swift rename to FindingFalconeTests/SelectDestinations/SelectDestinationsPresenterTests.swift index d9da57e..2f5be46 100644 --- a/FindingFalconTests/FindFalcon/FindFalconPresenterTests.swift +++ b/FindingFalconeTests/SelectDestinations/SelectDestinationsPresenterTests.swift @@ -1,21 +1,21 @@ // -// FindFalconPresenterTests.swift -// FindingFalconTests +// SelectDestinationsPresenterTests.swift +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone -final class FindFalconPresenterTests: XCTestCase { +final class SelectDestinationsPresenterTests: XCTestCase { func test_presentPlanetsAndVehicles() { - let view = FindFalconDisplayMock() + let view = SelectDestinationsDisplayMock() - let presenter = FindFalconPresenter() + let presenter = SelectDestinationsPresenter() presenter.view = view - let response: FindingFalcon.LoadPlanetsAndVehicles.Response = .mockAny() + let response: SelectDestinations.LoadPlanetsAndVehicles.Response = .mockAny() presenter.presentPlanetsAndVehicles(response) XCTAssertTrue(view.displayPlanetsAndVehiclesCalled) @@ -24,12 +24,12 @@ final class FindFalconPresenterTests: XCTestCase { } func test_presentToken() { - let view = FindFalconDisplayMock() + let view = SelectDestinationsDisplayMock() - let presenter = FindFalconPresenter() + let presenter = SelectDestinationsPresenter() presenter.view = view - let response: FindingFalcon.RetrieveToken.Response = .mockAny() + let response: SelectDestinations.RetrieveToken.Response = .mockAny() presenter.presentToken(response) XCTAssertTrue(view.displayTokenCalled) diff --git a/FindingFalconTests/FindFalcon/FindFalconViewTests.swift b/FindingFalconeTests/SelectDestinations/SelectDestinationsViewTests.swift similarity index 74% rename from FindingFalconTests/FindFalcon/FindFalconViewTests.swift rename to FindingFalconeTests/SelectDestinations/SelectDestinationsViewTests.swift index 40d2123..6292688 100644 --- a/FindingFalconTests/FindFalcon/FindFalconViewTests.swift +++ b/FindingFalconeTests/SelectDestinations/SelectDestinationsViewTests.swift @@ -1,19 +1,19 @@ // -// FindFalconViewTests.swift -// FindingFalconTests +// SelectDestinationsViewTests.swift +// SelectDestinationsTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone -final class FindFalconViewTests: XCTestCase { +final class SelectDestinationsViewTests: XCTestCase { @MainActor func test_retrieveToken() async { - var view = FindFalconView() + var view = SelectDestinationsView() - let interactor = FindFalconInteractorMock() + let interactor = SelectDestinationsInteractorMock() view.interactor = interactor await view.retrieveToken() @@ -22,9 +22,9 @@ final class FindFalconViewTests: XCTestCase { } @MainActor func test_getPlanetsAndVehicles() async { - var view = FindFalconView() + var view = SelectDestinationsView() - let interactor = FindFalconInteractorMock() + let interactor = SelectDestinationsInteractorMock() view.interactor = interactor await view.getPlanetsAndVehicles() @@ -33,21 +33,21 @@ final class FindFalconViewTests: XCTestCase { } @MainActor func test_DataStore_Vehicle_And_Planet_List() async throws { - let presenter = FindFalconPresenter() - let interactor = FindFalconInteractor() + let presenter = SelectDestinationsPresenter() + let interactor = SelectDestinationsInteractor() let vehicleName: String = .mockRandom() - let vehicle: FindingFalcon.LoadVehicles.Response = .mockRandom(name: vehicleName, totalNo: 1, maxDistance: 200, speed: 2) + let vehicle: SelectDestinations.LoadVehicles.Response = .mockRandom(name: vehicleName, totalNo: 1, maxDistance: 200, speed: 2) let planetName: String = .mockRandom() - let planet: FindingFalcon.LoadPlanets.Response = .mockRandom(name: planetName, distance: 300) + let planet: SelectDestinations.LoadPlanets.Response = .mockRandom(name: planetName, distance: 300) - let response: FindingFalcon.LoadPlanetsAndVehicles.Response = .mockRandom(planets: [planet], vehicles: [vehicle]) - let planetsAndVehiclesWorker = FindFalconPlanetsAndVehiclesWorkerMock(response: response) + let response: SelectDestinations.LoadPlanetsAndVehicles.Response = .mockRandom(planets: [planet], vehicles: [vehicle]) + let planetsAndVehiclesWorker = PlanetsAndVehiclesWorkerMock(response: response) interactor.planetsAndVehiclesWorker = planetsAndVehiclesWorker - var view = FindFalconView() + var view = SelectDestinationsView() view.interactor = interactor interactor.presenter = presenter presenter.view = view @@ -66,16 +66,16 @@ final class FindFalconViewTests: XCTestCase { } @MainActor func test_DataStore_Token() async throws { - let presenter = FindFalconPresenter() - let interactor = FindFalconInteractor() + let presenter = SelectDestinationsPresenter() + let interactor = SelectDestinationsInteractor() let token: String = .mockRandom() - let response: FindingFalcon.RetrieveToken.Response = .mockRandom(token: token) - let tokenWorker = FindFalconTokenWorkerMock(response: response) + let response: SelectDestinations.RetrieveToken.Response = .mockRandom(token: token) + let tokenWorker = TokenWorkerMock(response: response) interactor.tokenWorker = tokenWorker - var view = FindFalconView() + var view = SelectDestinationsView() view.interactor = interactor interactor.presenter = presenter presenter.view = view @@ -88,14 +88,14 @@ final class FindFalconViewTests: XCTestCase { } @MainActor func test_DataStore_isLoading() async throws { - let presenter = FindFalconPresenter() - let interactor = FindFalconInteractor() + let presenter = SelectDestinationsPresenter() + let interactor = SelectDestinationsInteractor() - let tokenWorker = FindFalconTokenWorkerMock() + let tokenWorker = TokenWorkerMock() interactor.tokenWorker = tokenWorker - var view = FindFalconView() + var view = SelectDestinationsView() view.interactor = interactor interactor.presenter = presenter presenter.view = view @@ -111,9 +111,9 @@ final class FindFalconViewTests: XCTestCase { let expectation = expectation(description: "Error should occur") expectation.expectedFulfillmentCount = 2 - let interactor = FindFalconInteractorErrorMock() + let interactor = SelectDestinationsInteractorErrorMock() - var view = FindFalconView() + var view = SelectDestinationsView() view.interactor = interactor view.onError = { @@ -130,7 +130,7 @@ final class FindFalconViewTests: XCTestCase { } @MainActor func test_startAgain() async throws { - var view = FindFalconView() + var view = SelectDestinationsView() let vehicle1: Vehicle = .mockRandom(name: .mockRandom(), totalNo: 1, maxDistance: 200, speed: 2) let vehicle2: Vehicle = .mockRandom(name: .mockRandom(), totalNo: 1, maxDistance: 200, speed: 2) diff --git a/FindingFalconTests/FindFalcon/UIComponents/DestinationViewTests.swift b/FindingFalconeTests/SelectDestinations/UIComponents/DestinationViewTests.swift similarity index 84% rename from FindingFalconTests/FindFalcon/UIComponents/DestinationViewTests.swift rename to FindingFalconeTests/SelectDestinations/UIComponents/DestinationViewTests.swift index 1951111..49defc1 100644 --- a/FindingFalconTests/FindFalcon/UIComponents/DestinationViewTests.swift +++ b/FindingFalconeTests/SelectDestinations/UIComponents/DestinationViewTests.swift @@ -1,12 +1,12 @@ // // DestinationViewTests.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 16/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone final class DestinationViewTests: XCTestCase { func test_Vehicle_Should_Not_Select_When_TotalNo_Zero() { @@ -17,7 +17,7 @@ final class DestinationViewTests: XCTestCase { let vehicle: Vehicle = .mockRandom(name: .mockRandom(), totalNo: 0, maxDistance: 200, speed: 2) let destination: Destination = .mockRandom(selectedVehicle: nil) - let view = DestinationView(destination: destination, onVehicleSelect: expectation.fulfill) + let view = DestinationSelectionView(destination: destination, onVehicleSelect: expectation.fulfill) // When view.onSelectVehicle(vehicle) @@ -37,7 +37,7 @@ final class DestinationViewTests: XCTestCase { let vehicle: Vehicle = .mockRandom(name: .mockRandom(), totalNo: 1, maxDistance: 200, speed: 2) let destination: Destination = .mockRandom(selectedVehicle: nil, selectedPlanet: planet) - let view = DestinationView(destination: destination, onVehicleSelect: expectation.fulfill) + let view = DestinationSelectionView(destination: destination, onVehicleSelect: expectation.fulfill) // When view.onSelectVehicle(vehicle) @@ -56,7 +56,7 @@ final class DestinationViewTests: XCTestCase { let vehicle: Vehicle = .mockRandom(name: .mockRandom(), totalNo: 1, maxDistance: 200, speed: 2) let destination: Destination = .mockRandom(selectedVehicle: vehicle) - let view = DestinationView(destination: destination, onVehicleSelect: expectation.fulfill) + let view = DestinationSelectionView(destination: destination, onVehicleSelect: expectation.fulfill) // When view.onSelectVehicle(vehicle) @@ -75,7 +75,7 @@ final class DestinationViewTests: XCTestCase { let planet: Planet = .mockRandom(name: .mockRandom(), distance: 200) let destination: Destination = .mockRandom(selectedVehicle: nil, selectedPlanet: planet) - let view = DestinationView(destination: destination, onVehicleSelect: expectation.fulfill) + let view = DestinationSelectionView(destination: destination, onVehicleSelect: expectation.fulfill) // When view.onSelectVehicle(vehicle) @@ -92,7 +92,7 @@ final class DestinationViewTests: XCTestCase { // Given let planet: Planet = .mockRandom(name: .mockRandom(), distance: 200) let destination: Destination = .mockRandom(selectedPlanet: nil) - let view = DestinationView(destination: destination, onPlanetSelect: expectation.fulfill) + let view = DestinationSelectionView(destination: destination, onPlanetSelect: expectation.fulfill) // When view.onSelectPlanet(planet) diff --git a/FindingFalconTests/FindFalcon/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift b/FindingFalconeTests/SelectDestinations/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift similarity index 51% rename from FindingFalconTests/FindFalcon/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift rename to FindingFalconeTests/SelectDestinations/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift index d10a08f..ddc48d7 100644 --- a/FindingFalconTests/FindFalcon/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift +++ b/FindingFalconeTests/SelectDestinations/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift @@ -1,22 +1,22 @@ // // FindFalconPlanetsAndVehiclesWorkerTests.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone final class FindFalconPlanetsAndVehiclesWorkerTests: XCTestCase { func test_getPlanetsAndVehicles() async throws { - let planets: [FindingFalcon.LoadVehicles.Response] = [.mockAny()] - let vehicles: [FindingFalcon.LoadPlanets.Response] = [.mockAny()] - let getVehiclesResponse: APIResponse<[FindingFalcon.LoadVehicles.Response]> = APIResponse(value: planets, needsRetry: false) - let getPlanetsResponse: APIResponse<[FindingFalcon.LoadPlanets.Response]> = APIResponse(value: vehicles, needsRetry: false) + let planets: [SelectDestinations.LoadVehicles.Response] = [.mockAny()] + let vehicles: [SelectDestinations.LoadPlanets.Response] = [.mockAny()] + let getVehiclesResponse: APIResponse<[SelectDestinations.LoadVehicles.Response]> = APIResponse(value: planets, needsRetry: false) + let getPlanetsResponse: APIResponse<[SelectDestinations.LoadPlanets.Response]> = APIResponse(value: vehicles, needsRetry: false) let networkManager = NetworkManagerMock(getVehiclesResponse: getVehiclesResponse, getPlanetsResponse: getPlanetsResponse) - let worker = FindFalconPlanetsAndVehiclesWorker(networkManager: networkManager) + let worker = PlanetsAndVehiclesWorker(networkManager: networkManager) let response = try await worker.getPlanetsAndVehicles() diff --git a/FindingFalconTests/FindFalcon/Workers/FindFalconTokenWorkerTests.swift b/FindingFalconeTests/SelectDestinations/Workers/FindFalconTokenWorkerTests.swift similarity index 63% rename from FindingFalconTests/FindFalcon/Workers/FindFalconTokenWorkerTests.swift rename to FindingFalconeTests/SelectDestinations/Workers/FindFalconTokenWorkerTests.swift index 34b9a11..54ed9e8 100644 --- a/FindingFalconTests/FindFalcon/Workers/FindFalconTokenWorkerTests.swift +++ b/FindingFalconeTests/SelectDestinations/Workers/FindFalconTokenWorkerTests.swift @@ -1,19 +1,19 @@ // // FindFalconTokenWorkerTests.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. // import XCTest -@testable import FindingFalcon +@testable import FindingFalcone final class FindFalconTokenWorkerTests: XCTestCase { func test_retrieveToken() async throws { - let retrieveTokenResponse: APIResponse = APIResponse(value: .mockAny(), needsRetry: false) + let retrieveTokenResponse: APIResponse = APIResponse(value: .mockAny(), needsRetry: false) let networkManager = NetworkManagerMock(retrieveTokenResponse: retrieveTokenResponse) - let worker = FindFalconTokenWorker(networkManager: networkManager) + let worker = TokenWorker(networkManager: networkManager) let response = try await worker.retrieveToken() diff --git a/FindingFalconTests/Utilities/Mocks.swift b/FindingFalconeTests/Utilities/Mocks.swift similarity index 99% rename from FindingFalconTests/Utilities/Mocks.swift rename to FindingFalconeTests/Utilities/Mocks.swift index 355b5b8..d8ea2e9 100644 --- a/FindingFalconTests/Utilities/Mocks.swift +++ b/FindingFalconeTests/Utilities/Mocks.swift @@ -1,6 +1,6 @@ // // Mocks.swift -// FindingFalconTests +// FindingFalconeTests // // Created by Pallab Maiti on 13/03/24. // diff --git a/xccov-to-generic.sh b/Scripts/xccov-to-generic.sh similarity index 100% rename from xccov-to-generic.sh rename to Scripts/xccov-to-generic.sh From 1ab330b686b88b1e1bd383d83eb9a5f9a1e64b60 Mon Sep 17 00:00:00 2001 From: Pallab Maiti Date: Sat, 16 Mar 2024 19:58:03 +0530 Subject: [PATCH 2/6] CI fixed --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0e7ad0d..823897b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,7 +39,7 @@ jobs: run: | bash Scripts/xccov-to-generic.sh build/Logs/Test/*.xcresult/ > generic-coverage.xml -# - name: SonarCloud Scan + - name: SonarCloud Scan # env: # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # run: | From d193b9d26646aeef43556694013f5cb0f8dabe09 Mon Sep 17 00:00:00 2001 From: Pallab Maiti Date: Sat, 16 Mar 2024 20:04:21 +0530 Subject: [PATCH 3/6] CI fixed --- .github/workflows/test.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 823897b..b692126 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -40,11 +40,7 @@ jobs: bash Scripts/xccov-to-generic.sh build/Logs/Test/*.xcresult/ > generic-coverage.xml - name: SonarCloud Scan -# env: -# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} -# run: | -# sonar-scanner -Dsonar.host.url=https://sonarcloud.io - uses: SonarSource/sonarcloud-github-action@master env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: | + sonar-scanner -Dsonar.host.url=https://sonarcloud.io From 33469adf884da80d6b3579ea738162b83cf25305 Mon Sep 17 00:00:00 2001 From: Pallab Maiti Date: Sat, 16 Mar 2024 20:09:37 +0530 Subject: [PATCH 4/6] sonar props issues fixed --- .../Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift | 4 ++-- .../Workers/FindFalconTokenWorkerTests.swift | 4 ++-- sonar-project.properties | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/FindingFalconeTests/SelectDestinations/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift b/FindingFalconeTests/SelectDestinations/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift index ddc48d7..b070300 100644 --- a/FindingFalconeTests/SelectDestinations/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift +++ b/FindingFalconeTests/SelectDestinations/Workers/FindFalconPlanetsAndVehiclesWorkerTests.swift @@ -1,5 +1,5 @@ // -// FindFalconPlanetsAndVehiclesWorkerTests.swift +// PlanetsAndVehiclesWorkerTests.swift // FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. @@ -8,7 +8,7 @@ import XCTest @testable import FindingFalcone -final class FindFalconPlanetsAndVehiclesWorkerTests: XCTestCase { +final class PlanetsAndVehiclesWorkerTests: XCTestCase { func test_getPlanetsAndVehicles() async throws { let planets: [SelectDestinations.LoadVehicles.Response] = [.mockAny()] let vehicles: [SelectDestinations.LoadPlanets.Response] = [.mockAny()] diff --git a/FindingFalconeTests/SelectDestinations/Workers/FindFalconTokenWorkerTests.swift b/FindingFalconeTests/SelectDestinations/Workers/FindFalconTokenWorkerTests.swift index 54ed9e8..adbe8d1 100644 --- a/FindingFalconeTests/SelectDestinations/Workers/FindFalconTokenWorkerTests.swift +++ b/FindingFalconeTests/SelectDestinations/Workers/FindFalconTokenWorkerTests.swift @@ -1,5 +1,5 @@ // -// FindFalconTokenWorkerTests.swift +// TokenWorkerTests.swift // FindingFalconeTests // // Created by Pallab Maiti on 15/03/24. @@ -8,7 +8,7 @@ import XCTest @testable import FindingFalcone -final class FindFalconTokenWorkerTests: XCTestCase { +final class TokenWorkerTests: XCTestCase { func test_retrieveToken() async throws { let retrieveTokenResponse: APIResponse = APIResponse(value: .mockAny(), needsRetry: false) let networkManager = NetworkManagerMock(retrieveTokenResponse: retrieveTokenResponse) diff --git a/sonar-project.properties b/sonar-project.properties index 6ae6015..a76d6eb 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -16,7 +16,7 @@ sonar.coverageReportPaths=generic-coverage.xml sonar.sources=RudderCore/Sources # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. -sonar.sources=FindingFalcon/FindFalcon,FindingFalcon/FoundFalcon,FindingFalcon/Networking +sonar.sources=FindingFalcone/SelectDestinations,FindingFalcone/FindFalcone,FindingFalcone/Networking # Encoding of the source code. Default is default system encoding #sonar.sourceEncoding=UTF-8 \ No newline at end of file From 39493649a9e2b2ae0e0a42eb9e51daa578b5491b Mon Sep 17 00:00:00 2001 From: Pallab Maiti Date: Sat, 16 Mar 2024 20:09:58 +0530 Subject: [PATCH 5/6] sonar props issues fixed --- sonar-project.properties | 2 -- 1 file changed, 2 deletions(-) diff --git a/sonar-project.properties b/sonar-project.properties index a76d6eb..601bcea 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -13,8 +13,6 @@ sonar.projectName=Finding Falcon # Path to reports sonar.coverageReportPaths=generic-coverage.xml -sonar.sources=RudderCore/Sources - # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. sonar.sources=FindingFalcone/SelectDestinations,FindingFalcone/FindFalcone,FindingFalcone/Networking From dabea801917c8df30e977b6cb2d2846da8f1dbd6 Mon Sep 17 00:00:00 2001 From: Pallab Maiti Date: Sat, 16 Mar 2024 20:10:55 +0530 Subject: [PATCH 6/6] sonar props issues fixed --- sonar-project.properties | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sonar-project.properties b/sonar-project.properties index 601bcea..b4f356c 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -2,13 +2,11 @@ sonar.log.level=INFO sonar.verbose=false sonar.qualitygate.wait=false -sonar.projectKey=pallabmaiti_finding-falcon -sonar.organization=pallabmaiti # This is the name and version displayed in the SonarCloud UI. -#sonar.projectName=finding-falcon -#sonar.projectVersion=1.0 sonar.projectName=Finding Falcon +sonar.projectKey=pallabmaiti_finding-falcon +sonar.organization=pallabmaiti # Path to reports sonar.coverageReportPaths=generic-coverage.xml