Skip to content

Commit a004590

Browse files
authored
Merge pull request #3 from nativeapptemplate/add_test
add test
2 parents 0775ff9 + ba80584 commit a004590

File tree

10 files changed

+476
-46
lines changed

10 files changed

+476
-46
lines changed

.github/workflows/run_tests.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Run tests
2+
on:
3+
pull_request:
4+
5+
jobs:
6+
build:
7+
runs-on: macos-15
8+
steps:
9+
- uses: maxim-lobanov/setup-xcode@v1
10+
with:
11+
xcode-version: '16.2.0'
12+
- uses: actions/checkout@v3
13+
- name: Unit Tests
14+
run: xcodebuild -project NativeAppTemplate.xcodeproj -scheme "NativeAppTemplate" -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 16 Pro,OS=18.2' test

NativeAppTemplate.xcodeproj/project.pbxproj

Lines changed: 159 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,16 @@
108108
01FC03E22B3329B700E6CD8E /* NeedAppUpdatesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01FC03E12B3329B700E6CD8E /* NeedAppUpdatesView.swift */; };
109109
/* End PBXBuildFile section */
110110

111+
/* Begin PBXContainerItemProxy section */
112+
01D19B472D4DE33500BDEAB7 /* PBXContainerItemProxy */ = {
113+
isa = PBXContainerItemProxy;
114+
containerPortal = 011F6DE5259EF16400BED22E /* Project object */;
115+
proxyType = 1;
116+
remoteGlobalIDString = 011F6DEC259EF16400BED22E;
117+
remoteInfo = NativeAppTemplate;
118+
};
119+
/* End PBXContainerItemProxy section */
120+
111121
/* Begin PBXFileReference section */
112122
0106413B29A9EDFF00B46FED /* AccountPasswordRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPasswordRequest.swift; sourceTree = "<group>"; };
113123
0106413D29A9F1C300B46FED /* UpdatePassword.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdatePassword.swift; sourceTree = "<group>"; };
@@ -128,7 +138,6 @@
128138
011F6DF4259EF16600BED22E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
129139
011F6DF7259EF16600BED22E /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
130140
011F6DF9259EF16600BED22E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
131-
011F6E04259EF16600BED22E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
132141
012643362B3554AD00D4E9BD /* AcceptTermsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AcceptTermsView.swift; sourceTree = "<group>"; };
133142
013292BD262C3EA400690B75 /* LoggedInShopkeeper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoggedInShopkeeper.swift; sourceTree = "<group>"; };
134143
013DE734284E99DF00528CC5 /* ShopCreateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopCreateView.swift; sourceTree = "<group>"; };
@@ -188,6 +197,7 @@
188197
01B6F5AA2601F84700397E66 /* PermissionsRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PermissionsRequest.swift; sourceTree = "<group>"; };
189198
01B9E45128A5070D00CAC681 /* ShopkeeperSignInAdapter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopkeeperSignInAdapter.swift; sourceTree = "<group>"; };
190199
01BE4F1C29CA6F8C002008BE /* TimeZoneData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeZoneData.swift; sourceTree = "<group>"; };
200+
01D19B432D4DE33500BDEAB7 /* NativeAppTemplateTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NativeAppTemplateTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
191201
01D8AE8A2AB453C1009AFFBA /* ShopBasicSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopBasicSettingsView.swift; sourceTree = "<group>"; };
192202
01DCE23E298FA3B300BA311D /* ShopListCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopListCardView.swift; sourceTree = "<group>"; };
193203
01E0A59125BD087E00298D35 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
@@ -208,6 +218,14 @@
208218
01FC03E12B3329B700E6CD8E /* NeedAppUpdatesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NeedAppUpdatesView.swift; sourceTree = "<group>"; };
209219
/* End PBXFileReference section */
210220

221+
/* Begin PBXFileSystemSynchronizedRootGroup section */
222+
01D19B442D4DE33500BDEAB7 /* NativeAppTemplateTests */ = {
223+
isa = PBXFileSystemSynchronizedRootGroup;
224+
path = NativeAppTemplateTests;
225+
sourceTree = "<group>";
226+
};
227+
/* End PBXFileSystemSynchronizedRootGroup section */
228+
211229
/* Begin PBXFrameworksBuildPhase section */
212230
011F6DEA259EF16400BED22E /* Frameworks */ = {
213231
isa = PBXFrameworksBuildPhase;
@@ -221,6 +239,13 @@
221239
);
222240
runOnlyForDeploymentPostprocessing = 0;
223241
};
242+
01D19B402D4DE33500BDEAB7 /* Frameworks */ = {
243+
isa = PBXFrameworksBuildPhase;
244+
buildActionMask = 2147483647;
245+
files = (
246+
);
247+
runOnlyForDeploymentPostprocessing = 0;
248+
};
224249
/* End PBXFrameworksBuildPhase section */
225250

226251
/* Begin PBXGroup section */
@@ -236,7 +261,7 @@
236261
isa = PBXGroup;
237262
children = (
238263
011F6DEF259EF16400BED22E /* NativeAppTemplate */,
239-
011F6E01259EF16600BED22E /* NativeAppTemplateTests */,
264+
01D19B442D4DE33500BDEAB7 /* NativeAppTemplateTests */,
240265
011F6DEE259EF16400BED22E /* Products */,
241266
012D037429DF805400C58977 /* Frameworks */,
242267
);
@@ -246,6 +271,7 @@
246271
isa = PBXGroup;
247272
children = (
248273
011F6DED259EF16400BED22E /* NativeAppTemplate.app */,
274+
01D19B432D4DE33500BDEAB7 /* NativeAppTemplateTests.xctest */,
249275
);
250276
name = Products;
251277
sourceTree = "<group>";
@@ -283,14 +309,6 @@
283309
path = "Preview Content";
284310
sourceTree = "<group>";
285311
};
286-
011F6E01259EF16600BED22E /* NativeAppTemplateTests */ = {
287-
isa = PBXGroup;
288-
children = (
289-
011F6E04259EF16600BED22E /* Info.plist */,
290-
);
291-
path = NativeAppTemplateTests;
292-
sourceTree = "<group>";
293-
};
294312
012D037429DF805400C58977 /* Frameworks */ = {
295313
isa = PBXGroup;
296314
children = (
@@ -627,19 +645,46 @@
627645
productReference = 011F6DED259EF16400BED22E /* NativeAppTemplate.app */;
628646
productType = "com.apple.product-type.application";
629647
};
648+
01D19B422D4DE33500BDEAB7 /* NativeAppTemplateTests */ = {
649+
isa = PBXNativeTarget;
650+
buildConfigurationList = 01D19B492D4DE33500BDEAB7 /* Build configuration list for PBXNativeTarget "NativeAppTemplateTests" */;
651+
buildPhases = (
652+
01D19B3F2D4DE33500BDEAB7 /* Sources */,
653+
01D19B402D4DE33500BDEAB7 /* Frameworks */,
654+
01D19B412D4DE33500BDEAB7 /* Resources */,
655+
);
656+
buildRules = (
657+
);
658+
dependencies = (
659+
01D19B482D4DE33500BDEAB7 /* PBXTargetDependency */,
660+
);
661+
fileSystemSynchronizedGroups = (
662+
01D19B442D4DE33500BDEAB7 /* NativeAppTemplateTests */,
663+
);
664+
name = NativeAppTemplateTests;
665+
packageProductDependencies = (
666+
);
667+
productName = NativeAppTemplateTests;
668+
productReference = 01D19B432D4DE33500BDEAB7 /* NativeAppTemplateTests.xctest */;
669+
productType = "com.apple.product-type.bundle.unit-test";
670+
};
630671
/* End PBXNativeTarget section */
631672

632673
/* Begin PBXProject section */
633674
011F6DE5259EF16400BED22E /* Project object */ = {
634675
isa = PBXProject;
635676
attributes = {
636677
BuildIndependentTargetsInParallel = YES;
637-
LastSwiftUpdateCheck = 1230;
678+
LastSwiftUpdateCheck = 1620;
638679
LastUpgradeCheck = 1600;
639680
TargetAttributes = {
640681
011F6DEC259EF16400BED22E = {
641682
CreatedOnToolsVersion = 12.3;
642683
};
684+
01D19B422D4DE33500BDEAB7 = {
685+
CreatedOnToolsVersion = 16.2;
686+
TestTargetID = 011F6DEC259EF16400BED22E;
687+
};
643688
};
644689
};
645690
buildConfigurationList = 011F6DE8259EF16400BED22E /* Build configuration list for PBXProject "NativeAppTemplate" */;
@@ -662,6 +707,7 @@
662707
projectRoot = "";
663708
targets = (
664709
011F6DEC259EF16400BED22E /* NativeAppTemplate */,
710+
01D19B422D4DE33500BDEAB7 /* NativeAppTemplateTests */,
665711
);
666712
};
667713
/* End PBXProject section */
@@ -679,6 +725,13 @@
679725
);
680726
runOnlyForDeploymentPostprocessing = 0;
681727
};
728+
01D19B412D4DE33500BDEAB7 /* Resources */ = {
729+
isa = PBXResourcesBuildPhase;
730+
buildActionMask = 2147483647;
731+
files = (
732+
);
733+
runOnlyForDeploymentPostprocessing = 0;
734+
};
682735
/* End PBXResourcesBuildPhase section */
683736

684737
/* Begin PBXShellScriptBuildPhase section */
@@ -800,8 +853,23 @@
800853
);
801854
runOnlyForDeploymentPostprocessing = 0;
802855
};
856+
01D19B3F2D4DE33500BDEAB7 /* Sources */ = {
857+
isa = PBXSourcesBuildPhase;
858+
buildActionMask = 2147483647;
859+
files = (
860+
);
861+
runOnlyForDeploymentPostprocessing = 0;
862+
};
803863
/* End PBXSourcesBuildPhase section */
804864

865+
/* Begin PBXTargetDependency section */
866+
01D19B482D4DE33500BDEAB7 /* PBXTargetDependency */ = {
867+
isa = PBXTargetDependency;
868+
target = 011F6DEC259EF16400BED22E /* NativeAppTemplate */;
869+
targetProxy = 01D19B472D4DE33500BDEAB7 /* PBXContainerItemProxy */;
870+
};
871+
/* End PBXTargetDependency section */
872+
805873
/* Begin XCBuildConfiguration section */
806874
011F6E10259EF16600BED22E /* Debug */ = {
807875
isa = XCBuildConfiguration;
@@ -941,7 +1009,7 @@
9411009
BUNDLE_ID_SUFFIX = .dev;
9421010
CODE_SIGN_ENTITLEMENTS = NativeAppTemplate/NativeAppTemplate.entitlements;
9431011
CODE_SIGN_STYLE = Automatic;
944-
CURRENT_PROJECT_VERSION = 2;
1012+
CURRENT_PROJECT_VERSION = 3;
9451013
DEVELOPMENT_ASSET_PATHS = "\"NativeAppTemplate/Preview Content\"";
9461014
DEVELOPMENT_TEAM = NNYDL5U3V3;
9471015
ENABLE_PREVIEWS = YES;
@@ -954,7 +1022,7 @@
9541022
"$(inherited)",
9551023
"@executable_path/Frameworks",
9561024
);
957-
MARKETING_VERSION = 1.0.1;
1025+
MARKETING_VERSION = 1.0.2;
9581026
PRODUCT_BUNDLE_IDENTIFIER = "com.nativeapptemplate.NativeAppTemplate.ios$(BUNDLE_ID_SUFFIX)";
9591027
"PRODUCT_BUNDLE_IDENTIFIER[sdk=iphoneos*]" = com.nativeapptemplate.NativeAppTemplateFree.ios;
9601028
PRODUCT_NAME = NativeAppTemplate;
@@ -975,7 +1043,7 @@
9751043
BUNDLE_ID_SUFFIX = "";
9761044
CODE_SIGN_ENTITLEMENTS = NativeAppTemplate/NativeAppTemplate.entitlements;
9771045
CODE_SIGN_STYLE = Automatic;
978-
CURRENT_PROJECT_VERSION = 2;
1046+
CURRENT_PROJECT_VERSION = 3;
9791047
DEVELOPMENT_ASSET_PATHS = "\"NativeAppTemplate/Preview Content\"";
9801048
DEVELOPMENT_TEAM = NNYDL5U3V3;
9811049
ENABLE_PREVIEWS = YES;
@@ -988,7 +1056,7 @@
9881056
"$(inherited)",
9891057
"@executable_path/Frameworks",
9901058
);
991-
MARKETING_VERSION = 1.0.1;
1059+
MARKETING_VERSION = 1.0.2;
9921060
PRODUCT_BUNDLE_IDENTIFIER = "com.nativeapptemplate.NativeAppTemplate.ios$(BUNDLE_ID_SUFFIX)";
9931061
"PRODUCT_BUNDLE_IDENTIFIER[sdk=iphoneos*]" = com.nativeapptemplate.NativeAppTemplateFree.ios;
9941062
PRODUCT_NAME = NativeAppTemplate;
@@ -1071,7 +1139,7 @@
10711139
BUNDLE_ID_SUFFIX = .beta;
10721140
CODE_SIGN_ENTITLEMENTS = NativeAppTemplate/NativeAppTemplate.entitlements;
10731141
CODE_SIGN_STYLE = Automatic;
1074-
CURRENT_PROJECT_VERSION = 2;
1142+
CURRENT_PROJECT_VERSION = 3;
10751143
DEVELOPMENT_ASSET_PATHS = "\"NativeAppTemplate/Preview Content\"";
10761144
DEVELOPMENT_TEAM = NNYDL5U3V3;
10771145
ENABLE_PREVIEWS = YES;
@@ -1084,7 +1152,7 @@
10841152
"$(inherited)",
10851153
"@executable_path/Frameworks",
10861154
);
1087-
MARKETING_VERSION = 1.0.1;
1155+
MARKETING_VERSION = 1.0.2;
10881156
PRODUCT_BUNDLE_IDENTIFIER = "com.nativeapptemplate.NativeAppTemplate.ios$(BUNDLE_ID_SUFFIX)";
10891157
PRODUCT_NAME = NativeAppTemplate;
10901158
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -1096,6 +1164,70 @@
10961164
};
10971165
name = Beta;
10981166
};
1167+
01D19B4A2D4DE33500BDEAB7 /* Debug */ = {
1168+
isa = XCBuildConfiguration;
1169+
buildSettings = {
1170+
BUNDLE_LOADER = "$(TEST_HOST)";
1171+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
1172+
CODE_SIGN_STYLE = Automatic;
1173+
CURRENT_PROJECT_VERSION = 1;
1174+
DEVELOPMENT_TEAM = NNYDL5U3V3;
1175+
GCC_C_LANGUAGE_STANDARD = gnu17;
1176+
GENERATE_INFOPLIST_FILE = YES;
1177+
IPHONEOS_DEPLOYMENT_TARGET = 18.2;
1178+
MARKETING_VERSION = 1.0;
1179+
PRODUCT_BUNDLE_IDENTIFIER = com.nativeapptemplate.NativeAppTemplateTests;
1180+
PRODUCT_NAME = "$(TARGET_NAME)";
1181+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
1182+
SWIFT_EMIT_LOC_STRINGS = NO;
1183+
SWIFT_VERSION = 5.0;
1184+
TARGETED_DEVICE_FAMILY = "1,2";
1185+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NativeAppTemplate.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/NativeAppTemplate";
1186+
};
1187+
name = Debug;
1188+
};
1189+
01D19B4B2D4DE33500BDEAB7 /* Release */ = {
1190+
isa = XCBuildConfiguration;
1191+
buildSettings = {
1192+
BUNDLE_LOADER = "$(TEST_HOST)";
1193+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
1194+
CODE_SIGN_STYLE = Automatic;
1195+
CURRENT_PROJECT_VERSION = 1;
1196+
DEVELOPMENT_TEAM = NNYDL5U3V3;
1197+
GCC_C_LANGUAGE_STANDARD = gnu17;
1198+
GENERATE_INFOPLIST_FILE = YES;
1199+
IPHONEOS_DEPLOYMENT_TARGET = 18.2;
1200+
MARKETING_VERSION = 1.0;
1201+
PRODUCT_BUNDLE_IDENTIFIER = com.nativeapptemplate.NativeAppTemplateTests;
1202+
PRODUCT_NAME = "$(TARGET_NAME)";
1203+
SWIFT_EMIT_LOC_STRINGS = NO;
1204+
SWIFT_VERSION = 5.0;
1205+
TARGETED_DEVICE_FAMILY = "1,2";
1206+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NativeAppTemplate.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/NativeAppTemplate";
1207+
};
1208+
name = Release;
1209+
};
1210+
01D19B4C2D4DE33500BDEAB7 /* Beta */ = {
1211+
isa = XCBuildConfiguration;
1212+
buildSettings = {
1213+
BUNDLE_LOADER = "$(TEST_HOST)";
1214+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
1215+
CODE_SIGN_STYLE = Automatic;
1216+
CURRENT_PROJECT_VERSION = 1;
1217+
DEVELOPMENT_TEAM = NNYDL5U3V3;
1218+
GCC_C_LANGUAGE_STANDARD = gnu17;
1219+
GENERATE_INFOPLIST_FILE = YES;
1220+
IPHONEOS_DEPLOYMENT_TARGET = 18.2;
1221+
MARKETING_VERSION = 1.0;
1222+
PRODUCT_BUNDLE_IDENTIFIER = com.nativeapptemplate.NativeAppTemplateTests;
1223+
PRODUCT_NAME = "$(TARGET_NAME)";
1224+
SWIFT_EMIT_LOC_STRINGS = NO;
1225+
SWIFT_VERSION = 5.0;
1226+
TARGETED_DEVICE_FAMILY = "1,2";
1227+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NativeAppTemplate.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/NativeAppTemplate";
1228+
};
1229+
name = Beta;
1230+
};
10991231
/* End XCBuildConfiguration section */
11001232

11011233
/* Begin XCConfigurationList section */
@@ -1119,6 +1251,16 @@
11191251
defaultConfigurationIsVisible = 0;
11201252
defaultConfigurationName = Release;
11211253
};
1254+
01D19B492D4DE33500BDEAB7 /* Build configuration list for PBXNativeTarget "NativeAppTemplateTests" */ = {
1255+
isa = XCConfigurationList;
1256+
buildConfigurations = (
1257+
01D19B4A2D4DE33500BDEAB7 /* Debug */,
1258+
01D19B4B2D4DE33500BDEAB7 /* Release */,
1259+
01D19B4C2D4DE33500BDEAB7 /* Beta */,
1260+
);
1261+
defaultConfigurationIsVisible = 0;
1262+
defaultConfigurationName = Release;
1263+
};
11221264
/* End XCConfigurationList section */
11231265

11241266
/* Begin XCRemoteSwiftPackageReference section */

NativeAppTemplate.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

NativeAppTemplate.xcodeproj/xcshareddata/xcschemes/NativeAppTemplate.xcscheme

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,17 @@
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
2929
shouldUseLaunchSchemeArgsEnv = "YES">
3030
<Testables>
31+
<TestableReference
32+
skipped = "NO"
33+
parallelizable = "YES">
34+
<BuildableReference
35+
BuildableIdentifier = "primary"
36+
BlueprintIdentifier = "01D19B422D4DE33500BDEAB7"
37+
BuildableName = "NativeAppTemplateTests.xctest"
38+
BlueprintName = "NativeAppTemplateTests"
39+
ReferencedContainer = "container:NativeAppTemplate.xcodeproj">
40+
</BuildableReference>
41+
</TestableReference>
3142
</Testables>
3243
</TestAction>
3344
<LaunchAction
@@ -50,6 +61,12 @@
5061
ReferencedContainer = "container:NativeAppTemplate.xcodeproj">
5162
</BuildableReference>
5263
</BuildableProductRunnable>
64+
<CommandLineArguments>
65+
<CommandLineArgument
66+
argument = "shopkeeperBackdoorToken FILL_THIS_IN"
67+
isEnabled = "NO">
68+
</CommandLineArgument>
69+
</CommandLineArguments>
5370
</LaunchAction>
5471
<ProfileAction
5572
buildConfiguration = "Release"

0 commit comments

Comments
 (0)