[Framework] Feed List improvements #19

Merged
javier merged 8 commits from framework/feed/view-model-tests into main 2024-03-22 14:44:52 +00:00
2 changed files with 171 additions and 1 deletions
Showing only changes of commit 6c3c66f3ab - Show all commits

View File

@ -0,0 +1,36 @@
//
// ReviewsFeedTests.swift
// ReviewsFeedTests
//
// Created by Javier Cicchelli on 22/03/2024.
// Copyright © 2024 Röck+Cöde. All rights reserved.
//
import XCTest
final class ReviewsFeedTests: XCTestCase {
override func setUpWithError() throws {
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDownWithError() throws {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
func testExample() throws {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
// Any test you write for XCTest can be annotated as throws and async.
// Mark your test throws to produce an unexpected failure when your test encounters an uncaught error.
// Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards.
}
func testPerformanceExample() throws {
// This is an example of a performance test case.
measure {
// Put the code you want to measure the time of here.
}
}
}

View File

@ -18,6 +18,8 @@
02909E792BAB6B0200710E14 /* FilterOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E782BAB6B0200710E14 /* FilterOption.swift */; };
02909E7B2BAB6D2E00710E14 /* Bundle+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E7A2BAB6D2E00710E14 /* Bundle+Constants.swift */; };
02909E7D2BAB7FFE00710E14 /* Review+DTOs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E7C2BAB7FFE00710E14 /* Review+DTOs.swift */; };
02B36F7C2BAD9D1A00F1A89D /* ReviewsFeedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B36F7B2BAD9D1A00F1A89D /* ReviewsFeedTests.swift */; };
02B36F7D2BAD9D1A00F1A89D /* ReviewsFeed.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02DC7F8F2BA51793000EEEBE /* ReviewsFeed.framework */; platformFilter = ios; };
02C1B1972BAC9BFE001781DE /* FeedListCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02C1B1962BAC9BFE001781DE /* FeedListCoordinator.swift */; };
02C1B1A92BACA722001781DE /* AppCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02C1B1A82BACA722001781DE /* AppCoordinator.swift */; };
02DA924E2BAAE3FD00C47985 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 02DA924D2BAAE3FD00C47985 /* Localizable.xcstrings */; };
@ -40,6 +42,13 @@
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
02B36F7E2BAD9D1A00F1A89D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 345AD11024C6EDD9004E2EE1 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 02DC7F8E2BA51793000EEEBE;
remoteInfo = Feed;
};
02DC7FA02BA51793000EEEBE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 345AD11024C6EDD9004E2EE1 /* Project object */;
@ -75,6 +84,8 @@
02909E782BAB6B0200710E14 /* FilterOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterOption.swift; sourceTree = "<group>"; };
02909E7A2BAB6D2E00710E14 /* Bundle+Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Bundle+Constants.swift"; sourceTree = "<group>"; };
02909E7C2BAB7FFE00710E14 /* Review+DTOs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Review+DTOs.swift"; sourceTree = "<group>"; };
02B36F792BAD9D1A00F1A89D /* FeedTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FeedTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
02B36F7B2BAD9D1A00F1A89D /* ReviewsFeedTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewsFeedTests.swift; sourceTree = "<group>"; };
02C1B1962BAC9BFE001781DE /* FeedListCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListCoordinator.swift; sourceTree = "<group>"; };
02C1B1A82BACA722001781DE /* AppCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppCoordinator.swift; sourceTree = "<group>"; };
02DA924D2BAAE3FD00C47985 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
@ -97,6 +108,14 @@
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
02B36F762BAD9D1A00F1A89D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
02B36F7D2BAD9D1A00F1A89D /* ReviewsFeed.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
02DC7F8C2BA51793000EEEBE /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -224,10 +243,19 @@
02A6DA302BA5929F00B943E2 /* Test */ = {
isa = PBXGroup;
children = (
02B36F742BAD9C4500F1A89D /* Tests */,
);
path = Test;
sourceTree = "<group>";
};
02B36F742BAD9C4500F1A89D /* Tests */ = {
isa = PBXGroup;
children = (
02B36F7B2BAD9D1A00F1A89D /* ReviewsFeedTests.swift */,
);
path = Tests;
sourceTree = "<group>";
};
02C1B1952BAC9BE7001781DE /* Coordinators */ = {
isa = PBXGroup;
children = (
@ -364,6 +392,7 @@
children = (
345AD11824C6EDD9004E2EE1 /* Reviews.app */,
02DC7F8F2BA51793000EEEBE /* ReviewsFeed.framework */,
02B36F792BAD9D1A00F1A89D /* FeedTests.xctest */,
);
name = Products;
sourceTree = "<group>";
@ -391,6 +420,24 @@
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
02B36F782BAD9D1A00F1A89D /* FeedTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 02B36F802BAD9D1A00F1A89D /* Build configuration list for PBXNativeTarget "FeedTests" */;
buildPhases = (
02B36F752BAD9D1A00F1A89D /* Sources */,
02B36F762BAD9D1A00F1A89D /* Frameworks */,
02B36F772BAD9D1A00F1A89D /* Resources */,
);
buildRules = (
);
dependencies = (
02B36F7F2BAD9D1A00F1A89D /* PBXTargetDependency */,
);
name = FeedTests;
productName = ReviewsFeedTests;
productReference = 02B36F792BAD9D1A00F1A89D /* FeedTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
02DC7F8E2BA51793000EEEBE /* Feed */ = {
isa = PBXNativeTarget;
buildConfigurationList = 02DC7FA92BA51793000EEEBE /* Build configuration list for PBXNativeTarget "Feed" */;
@ -445,6 +492,9 @@
LastUpgradeCheck = 1530;
ORGANIZATIONNAME = "Röck+Cöde";
TargetAttributes = {
02B36F782BAD9D1A00F1A89D = {
CreatedOnToolsVersion = 15.3;
};
02DC7F8E2BA51793000EEEBE = {
CreatedOnToolsVersion = 15.3;
};
@ -466,13 +516,21 @@
projectDirPath = "";
projectRoot = "";
targets = (
02DC7F8E2BA51793000EEEBE /* Feed */,
345AD11724C6EDD9004E2EE1 /* App */,
02DC7F8E2BA51793000EEEBE /* Feed */,
02B36F782BAD9D1A00F1A89D /* FeedTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
02B36F772BAD9D1A00F1A89D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
02DC7F8D2BA51793000EEEBE /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -493,6 +551,14 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
02B36F752BAD9D1A00F1A89D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
02B36F7C2BAD9D1A00F1A89D /* ReviewsFeedTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
02DC7F8B2BA51793000EEEBE /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -532,6 +598,12 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
02B36F7F2BAD9D1A00F1A89D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
platformFilter = ios;
target = 02DC7F8E2BA51793000EEEBE /* Feed */;
targetProxy = 02B36F7E2BAD9D1A00F1A89D /* PBXContainerItemProxy */;
};
02DC7FA12BA51793000EEEBE /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 02DC7F8E2BA51793000EEEBE /* Feed */;
@ -551,6 +623,59 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
02B36F812BAD9D1A00F1A89D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 7FMNM89WKG;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.assignment.ing.framework.feed.test.unit";
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 1;
};
name = Debug;
};
02B36F822BAD9D1A00F1A89D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 7FMNM89WKG;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.assignment.ing.framework.feed.test.unit";
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 1;
};
name = Release;
};
02DC7FA52BA51793000EEEBE /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -825,6 +950,15 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
02B36F802BAD9D1A00F1A89D /* Build configuration list for PBXNativeTarget "FeedTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
02B36F812BAD9D1A00F1A89D /* Debug */,
02B36F822BAD9D1A00F1A89D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
02DC7FA92BA51793000EEEBE /* Build configuration list for PBXNativeTarget "Feed" */ = {
isa = XCConfigurationList;
buildConfigurations = (