Skip to content

Commit

Permalink
Merge pull request #993 from DeluxeAlonso/feature/code-cleanup
Browse files Browse the repository at this point in the history
Feature/code cleanup
  • Loading branch information
DeluxeAlonso authored Oct 11, 2024
2 parents 6e4a74e + ac90f77 commit 22b11aa
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 1 deletion.
36 changes: 36 additions & 0 deletions UpcomingMovies.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
E20712B62BB1426E00784D58 /* SplashBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20712B52BB1426E00784D58 /* SplashBuilderTests.swift */; };
E208FC472635238A008593D8 /* SimpleViewStateProcessable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E208FC462635238A008593D8 /* SimpleViewStateProcessable.swift */; };
E20A39DA2ACE8A6C00C1C10E /* ProfileAccountInfoCellViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20A39D92ACE8A6C00C1C10E /* ProfileAccountInfoCellViewModelTests.swift */; };
E20ADA212CB8E30D00F79812 /* CollapsibleHeaderViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20ADA202CB8E30D00F79812 /* CollapsibleHeaderViewModelTests.swift */; };
E20ADA252CB8E4F000F79812 /* MockCollapsibleHeaderViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20ADA242CB8E4F000F79812 /* MockCollapsibleHeaderViewModelProtocol.swift */; };
E20ADA272CB8E53A00F79812 /* MockCollapsibleHeaderViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20ADA262CB8E53A00F79812 /* MockCollapsibleHeaderViewDelegate.swift */; };
E20B7160249C5F8B00E88439 /* SearchMoviesCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20B715F249C5F8B00E88439 /* SearchMoviesCoordinator.swift */; };
E20C4B1224A80E440051D7FA /* AuthPermissionProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20C4B1124A80E440051D7FA /* AuthPermissionProtocols.swift */; };
E20CBAFF24B1963600F3992E /* Bool+IntValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20CBAFE24B1963600F3992E /* Bool+IntValue.swift */; };
Expand Down Expand Up @@ -561,6 +564,9 @@
E20712B52BB1426E00784D58 /* SplashBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplashBuilderTests.swift; sourceTree = "<group>"; };
E208FC462635238A008593D8 /* SimpleViewStateProcessable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleViewStateProcessable.swift; sourceTree = "<group>"; };
E20A39D92ACE8A6C00C1C10E /* ProfileAccountInfoCellViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileAccountInfoCellViewModelTests.swift; sourceTree = "<group>"; };
E20ADA202CB8E30D00F79812 /* CollapsibleHeaderViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollapsibleHeaderViewModelTests.swift; sourceTree = "<group>"; };
E20ADA242CB8E4F000F79812 /* MockCollapsibleHeaderViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockCollapsibleHeaderViewModelProtocol.swift; sourceTree = "<group>"; };
E20ADA262CB8E53A00F79812 /* MockCollapsibleHeaderViewDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockCollapsibleHeaderViewDelegate.swift; sourceTree = "<group>"; };
E20B715F249C5F8B00E88439 /* SearchMoviesCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchMoviesCoordinator.swift; sourceTree = "<group>"; };
E20C4B1124A80E440051D7FA /* AuthPermissionProtocols.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthPermissionProtocols.swift; sourceTree = "<group>"; };
E20CBAFE24B1963600F3992E /* Bool+IntValue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Bool+IntValue.swift"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1252,6 +1258,31 @@
path = "Account Info";
sourceTree = "<group>";
};
E20ADA1F2CB8E2FB00F79812 /* CollapsibleCollectionHeaderView */ = {
isa = PBXGroup;
children = (
E20ADA202CB8E30D00F79812 /* CollapsibleHeaderViewModelTests.swift */,
);
path = CollapsibleCollectionHeaderView;
sourceTree = "<group>";
};
E20ADA222CB8E4D900F79812 /* ViewComponents */ = {
isa = PBXGroup;
children = (
E20ADA232CB8E4E500F79812 /* CustomViews */,
);
path = ViewComponents;
sourceTree = "<group>";
};
E20ADA232CB8E4E500F79812 /* CustomViews */ = {
isa = PBXGroup;
children = (
E20ADA242CB8E4F000F79812 /* MockCollapsibleHeaderViewModelProtocol.swift */,
E20ADA262CB8E53A00F79812 /* MockCollapsibleHeaderViewDelegate.swift */,
);
path = CustomViews;
sourceTree = "<group>";
};
E2133F042A25CA4E0085C82D /* MovieDetailOptions */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -1749,6 +1780,7 @@
E2554E5C24B589700043C3EB /* Mocks */ = {
isa = PBXGroup;
children = (
E20ADA222CB8E4D900F79812 /* ViewComponents */,
E2ACC8B02A3E4951007FDFC9 /* Account */,
E2554E5D24B5898C0043C3EB /* UpcomingMoviesMockFactory.swift */,
E2850D3124CBD1CD0036BEAF /* SavedMoviesMockFactory.swift */,
Expand Down Expand Up @@ -2299,6 +2331,7 @@
E2A166F52CB2506C00FA1732 /* CustomViews */ = {
isa = PBXGroup;
children = (
E20ADA1F2CB8E2FB00F79812 /* CollapsibleCollectionHeaderView */,
E2A166F62CB2507A00FA1732 /* LoadingFooterViewTests.swift */,
E2A572A92CB4EC85008A9439 /* VoteAverageViewTests.swift */,
);
Expand Down Expand Up @@ -3348,7 +3381,10 @@
E2A9919D2A4C0EFF0006C9C3 /* MovieDetailTitleCoordinatorTests.swift in Sources */,
E2116941220E0BDF00595822 /* MovieDetailViewModelTests.swift in Sources */,
E2C42E1624C3F3FC0047A8EF /* ProfileViewModelTests.swift in Sources */,
E20ADA212CB8E30D00F79812 /* CollapsibleHeaderViewModelTests.swift in Sources */,
E20ADA272CB8E53A00F79812 /* MockCollapsibleHeaderViewDelegate.swift in Sources */,
E29B74C7298A4A08001801D5 /* ProfileFactoryTests.swift in Sources */,
E20ADA252CB8E4F000F79812 /* MockCollapsibleHeaderViewModelProtocol.swift in Sources */,
E2554E5E24B5898C0043C3EB /* UpcomingMoviesMockFactory.swift in Sources */,
E2EAEC5024CFC67100D89F04 /* CustomListsViewModelTests.swift in Sources */,
E2CA10FB2BF995F100446711 /* MockMovieCreditsProtocol.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class CollapsibleCollectionHeaderView: UICollectionReusableView {

weak var delegate: CollapsibleHeaderViewDelegate?

var viewModel: CollapsibleHeaderViewModel? {
var viewModel: CollapsibleHeaderViewModelProtocol? {
didSet {
setupBindables()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// MockCollapsibleHeaderViewDelegate.swift
// UpcomingMoviesTests
//
// Created by Alonso on 10/10/24.
// Copyright © 2024 Alonso. All rights reserved.
//

@testable import UpcomingMovies

final class MockCollapsibleHeaderViewDelegate: CollapsibleHeaderViewDelegate {

private(set) var sectionToggledCallCount = 0
func collapsibleHeaderView(sectionHeaderView: CollapsibleCollectionHeaderView, sectionToggled section: Int) {
sectionToggledCallCount += 1
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// MockCollapsibleHeaderViewModelProtocol.swift
// UpcomingMoviesTests
//
// Created by Alonso on 10/10/24.
// Copyright © 2024 Alonso. All rights reserved.
//

@testable import UpcomingMovies

final class MockCollapsibleHeaderViewModelProtocol: CollapsibleHeaderViewModelProtocol {

var opened: Bool = false
var section: Int = 0
var title: String = ""
var shouldAnimate: Bool = false

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
//
// CollapsibleHeaderViewModelTests.swift
// UpcomingMoviesTests
//
// Created by Alonso on 10/10/24.
// Copyright © 2024 Alonso. All rights reserved.
//

import XCTest
@testable import UpcomingMovies

final class CollapsibleHeaderViewModelTests: XCTestCase {

func testInitWithDefaultShouldAnimate() {
// Act
let viewModel = CollapsibleHeaderViewModel(opened: true, section: 0, title: "Title")
// Assert
XCTAssertEqual(viewModel.opened, true)
XCTAssertEqual(viewModel.section, 0)
XCTAssertEqual(viewModel.title, "Title")
XCTAssertEqual(viewModel.shouldAnimate, false)
}

func testInitWithShouldAnimateTrue() {
// Act
let viewModel = CollapsibleHeaderViewModel(opened: true, section: 0, title: "Title", shouldAnimate: true)
// Assert
XCTAssertEqual(viewModel.shouldAnimate, true)
}

func testInitWithShouldAnimateFalse() {
// Act
let viewModel = CollapsibleHeaderViewModel(opened: true, section: 0, title: "Title", shouldAnimate: false)
// Assert
XCTAssertEqual(viewModel.shouldAnimate, false)
}

}

0 comments on commit 22b11aa

Please sign in to comment.