From d215b2f6e48d1c86447a1f24257feeab74f0cab8 Mon Sep 17 00:00:00 2001 From: nriedman <108841122+nriedman@users.noreply.github.com> Date: Wed, 3 Apr 2024 18:57:35 -0700 Subject: [PATCH] Testing --- ENGAGEHF.xcodeproj/project.pbxproj | 12 +++-- ENGAGEHFUITests/HomeViewUITests.swift | 47 +++++++++++++++++++ ...NGAGEHFUITests.swift => LaunchTests.swift} | 12 +++-- 3 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 ENGAGEHFUITests/HomeViewUITests.swift rename ENGAGEHFUITests/{ENGAGEHFUITests.swift => LaunchTests.swift} (54%) diff --git a/ENGAGEHF.xcodeproj/project.pbxproj b/ENGAGEHF.xcodeproj/project.pbxproj index 550b7c47..182713ab 100644 --- a/ENGAGEHF.xcodeproj/project.pbxproj +++ b/ENGAGEHF.xcodeproj/project.pbxproj @@ -10,7 +10,7 @@ 27FA29902A388E9B009CAC45 /* ModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27FA298F2A388E9B009CAC45 /* ModalView.swift */; }; 2F3D4ABC2A4E7C290068FB2F /* SpeziScheduler in Frameworks */ = {isa = PBXBuildFile; productRef = 2F3D4ABB2A4E7C290068FB2F /* SpeziScheduler */; }; 2F49B7762980407C00BCB272 /* Spezi in Frameworks */ = {isa = PBXBuildFile; productRef = 2F49B7752980407B00BCB272 /* Spezi */; }; - 2F4E237E2989A2FE0013F3D9 /* ENGAGEHFUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F4E237D2989A2FE0013F3D9 /* ENGAGEHFUITests.swift */; }; + 2F4E237E2989A2FE0013F3D9 /* LaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F4E237D2989A2FE0013F3D9 /* LaunchTests.swift */; }; 2F4E23832989D51F0013F3D9 /* ENGAGEHFTestingSetup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F4E23822989D51F0013F3D9 /* ENGAGEHFTestingSetup.swift */; }; 2F4FC8D729EE69D300BFFE26 /* MockUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F4FC8D629EE69D300BFFE26 /* MockUpload.swift */; }; 2F5E32BD297E05EA003432F8 /* ENGAGEHFDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F5E32BC297E05EA003432F8 /* ENGAGEHFDelegate.swift */; }; @@ -63,6 +63,7 @@ 4DB025BF2BBDEA03002D2545 /* EducationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DB025BE2BBDEA03002D2545 /* EducationView.swift */; }; 4DB025C12BBDEA0B002D2545 /* MedicationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DB025C02BBDEA0B002D2545 /* MedicationsView.swift */; }; 4DB025C62BBE21EF002D2545 /* index.js in Resources */ = {isa = PBXBuildFile; fileRef = 4DB025C52BBE21EF002D2545 /* index.js */; }; + 4DB025CA2BBE3A59002D2545 /* HomeViewUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DB025C92BBE3A59002D2545 /* HomeViewUITests.swift */; }; 56E708352BB06B7100B08F0A /* SpeziLicense in Frameworks */ = {isa = PBXBuildFile; productRef = 56E708342BB06B7100B08F0A /* SpeziLicense */; }; 56E7083B2BB06F6F00B08F0A /* SwiftPackageList in Frameworks */ = {isa = PBXBuildFile; productRef = 56E7083A2BB06F6F00B08F0A /* SwiftPackageList */; }; 653A2551283387FE005D4D48 /* ENGAGEHF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 653A2550283387FE005D4D48 /* ENGAGEHF.swift */; }; @@ -97,7 +98,7 @@ /* Begin PBXFileReference section */ 27FA298F2A388E9B009CAC45 /* ModalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModalView.swift; sourceTree = ""; }; - 2F4E237D2989A2FE0013F3D9 /* ENGAGEHFUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ENGAGEHFUITests.swift; sourceTree = ""; }; + 2F4E237D2989A2FE0013F3D9 /* LaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchTests.swift; sourceTree = ""; }; 2F4E23822989D51F0013F3D9 /* ENGAGEHFTestingSetup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ENGAGEHFTestingSetup.swift; sourceTree = ""; }; 2F4FC8D629EE69D300BFFE26 /* MockUpload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockUpload.swift; sourceTree = ""; }; 2F5E32BC297E05EA003432F8 /* ENGAGEHFDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ENGAGEHFDelegate.swift; sourceTree = ""; }; @@ -134,6 +135,7 @@ 4DB025BE2BBDEA03002D2545 /* EducationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EducationView.swift; sourceTree = ""; }; 4DB025C02BBDEA0B002D2545 /* MedicationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MedicationsView.swift; sourceTree = ""; }; 4DB025C52BBE21EF002D2545 /* index.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = index.js; sourceTree = ""; }; + 4DB025C92BBE3A59002D2545 /* HomeViewUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewUITests.swift; sourceTree = ""; }; 653A254D283387FE005D4D48 /* ENGAGEHF.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ENGAGEHF.app; sourceTree = BUILT_PRODUCTS_DIR; }; 653A2550283387FE005D4D48 /* ENGAGEHF.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ENGAGEHF.swift; sourceTree = ""; }; 653A255428338800005D4D48 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -390,7 +392,8 @@ 653A256A28338800005D4D48 /* ENGAGEHFUITests */ = { isa = PBXGroup; children = ( - 2F4E237D2989A2FE0013F3D9 /* ENGAGEHFUITests.swift */, + 2F4E237D2989A2FE0013F3D9 /* LaunchTests.swift */, + 4DB025C92BBE3A59002D2545 /* HomeViewUITests.swift */, ); path = ENGAGEHFUITests; sourceTree = ""; @@ -649,7 +652,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2F4E237E2989A2FE0013F3D9 /* ENGAGEHFUITests.swift in Sources */, + 2F4E237E2989A2FE0013F3D9 /* LaunchTests.swift in Sources */, + 4DB025CA2BBE3A59002D2545 /* HomeViewUITests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ENGAGEHFUITests/HomeViewUITests.swift b/ENGAGEHFUITests/HomeViewUITests.swift new file mode 100644 index 00000000..2689364d --- /dev/null +++ b/ENGAGEHFUITests/HomeViewUITests.swift @@ -0,0 +1,47 @@ +// This source file is part of the ENGAGE-HF project based on the Stanford Spezi Template Application project +// +// SPDX-FileCopyrightText: 2023 Stanford University +// +// SPDX-License-Identifier: MIT +// +// HomeViewUITests.swift +// ENGAGEHFUITests +// +// Created by Nick Riedman on 4/3/24. +// + +import XCTest + +class HomeViewUITests: XCTestCase { + override func setUpWithError() throws { + try super.setUpWithError() + + continueAfterFailure = false + + let app = XCUIApplication() + app.launchArguments = ["--skipOnboarding"] + app.launch() + } + + // Make sure the correct tabs show and that they go to the correct view + func testHomeTabs() throws { + let app = XCUIApplication() + + XCTAssertEqual(app.state, .runningForeground) + XCTAssertEqual(app.tabs["Home"].label, "Home") + app.tabs["Home"].tap() + app.tabs["Home"].tap() + + XCTAssertEqual(app.tabs["Heart Health"].label, "Heart Health") + app.tabs["Heart Health"].tap() + app.tabs["Heart Health"].tap() + + XCTAssertEqual(app.tabs["Medications"].label, "Medications") + app.tabs["Medications"].tap() + app.tabs["Medications"].tap() + + XCTAssertEqual(app.tabs["Education"].label, "Education") + app.tabs["Education"].tap() + app.tabs["Education"].tap() + } +} diff --git a/ENGAGEHFUITests/ENGAGEHFUITests.swift b/ENGAGEHFUITests/LaunchTests.swift similarity index 54% rename from ENGAGEHFUITests/ENGAGEHFUITests.swift rename to ENGAGEHFUITests/LaunchTests.swift index 8005c68a..b2763b48 100644 --- a/ENGAGEHFUITests/ENGAGEHFUITests.swift +++ b/ENGAGEHFUITests/LaunchTests.swift @@ -9,13 +9,19 @@ import XCTest -final class ENGAGEHFUITests: XCTestCase { +// Based off of https://github.com/CS342/2024-Intake/blob/main/IntakeUITests/LaunchTests.swift +final class LaunchTests: XCTestCase { override func setUpWithError() throws { + try super.setUpWithError() + continueAfterFailure = false + + let app = XCUIApplication() + app.launch() } - func testExample() throws { + func testApplicationLaunch() throws { let app = XCUIApplication() - app.launch() + XCTAssertEqual(app.state, .runningForeground) } }