Skip to content

Commit

Permalink
Add SearchListViewControllerFactory
Browse files Browse the repository at this point in the history
  • Loading branch information
dogo committed Mar 19, 2024
1 parent 2b56edf commit 501708e
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ final class AddCardViewControllerFactory: ViewControllerFactory {
let viewController = AddCardViewController()
let router = AddCardNavigator(viewController)
let interactor = AddCardInteractor()
let viewModel = AddCardViewModel(person: personDTO, userCollection: userCollectionDTO, type: addCardType)
let viewModel = AddCardViewModel(person: personDTO,
userCollection: userCollectionDTO,
type: addCardType)
let presenter = AddCardPresenter(controller: viewController,
interactor: interactor,
database: database,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
//
// SearchListViewControllerFactory.swift
// SWDestinyTrades
//
// Created by Diogo Autilio on 19/03/24.
// Copyright © 2024 Diogo Autilio. All rights reserved.
//

import Foundation
import UIKit

final class SearchListViewControllerFactory: ViewControllerFactory {

private let database: DatabaseProtocol?

init(database: DatabaseProtocol?) {
self.database = database
}

func createViewController() -> UIViewController {
let viewController = SearchListViewController(database: database)
let router = SearchNavigator(viewController)
let interactor = SearchListInteractor()
let presenter = SearchListPresenter(controller: nil,
interactor: interactor,
database: database,
navigator: router)
// viewController.presenter = presenter
return viewController
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ final class SetsListNavigator: Navigator {
case let .cardList(database, set):
return CardListViewControllerFactory(database: database, setDTO: set).createViewController()
case let .search(database):
return SearchListViewController(database: database)
return SearchListViewControllerFactory(database: database).createViewController()
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
//
// SearchListViewControllerFactoryTests.swift
// SWDestinyTradesTests
//
// Created by Diogo Autilio on 19/03/24.
// Copyright © 2024 Diogo Autilio. All rights reserved.
//

import Foundation
import XCTest

@testable import SWDestinyTrades

final class SearchListViewControllerFactoryTests: XCTestCase {

private var sut: SearchListViewControllerFactory!

override func setUp() {
super.setUp()
sut = SearchListViewControllerFactory(database: nil)
}

override func tearDown() {
sut = nil
super.tearDown()
}

func test_controller_creation() {
XCTAssertNotNil(sut.createViewController())
}
}

0 comments on commit 501708e

Please sign in to comment.