Skip to content

Commit

Permalink
Merge pull request #31 from Ditectrev/27-add-non-cloud-tests
Browse files Browse the repository at this point in the history
27 add non cloud tests
  • Loading branch information
danieldanielecki authored Jun 17, 2024
2 parents f5e5e20 + 3eefa56 commit 2f848ff
Show file tree
Hide file tree
Showing 10 changed files with 328 additions and 110 deletions.
12 changes: 8 additions & 4 deletions CloudMaster.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
8D26A31E2C0EE3F400E9B015 /* QuestionImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D26A31D2C0EE3F400E9B015 /* QuestionImages.swift */; };
8D26A3202C0EE4A000E9B015 /* QuestionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D26A31F2C0EE4A000E9B015 /* QuestionView.swift */; };
8D26A3222C101C5000E9B015 /* BookmarksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D26A3212C101C5000E9B015 /* BookmarksView.swift */; };
8D3F7ABE2C202FD100D200CA /* AllCourses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D3F7ABD2C202FD100D200CA /* AllCourses.swift */; };
8D8D8A862C05A23600ACC61C /* CloudMasterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D8D8A852C05A23600ACC61C /* CloudMasterTests.swift */; };
8D8D8A902C05A23600ACC61C /* CloudMasterUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D8D8A8F2C05A23600ACC61C /* CloudMasterUITests.swift */; };
8D8D8A922C05A23600ACC61C /* CloudMasterUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D8D8A912C05A23600ACC61C /* CloudMasterUITestsLaunchTests.swift */; };
Expand Down Expand Up @@ -69,6 +70,7 @@
8D26A31D2C0EE3F400E9B015 /* QuestionImages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuestionImages.swift; sourceTree = "<group>"; };
8D26A31F2C0EE4A000E9B015 /* QuestionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuestionView.swift; sourceTree = "<group>"; };
8D26A3212C101C5000E9B015 /* BookmarksView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarksView.swift; sourceTree = "<group>"; };
8D3F7ABD2C202FD100D200CA /* AllCourses.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AllCourses.swift; sourceTree = "<group>"; };
8D8D8A712C05A23400ACC61C /* CloudMaster Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "CloudMaster Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; };
8D8D8A812C05A23600ACC61C /* CloudMasterTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CloudMasterTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
8D8D8A852C05A23600ACC61C /* CloudMasterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudMasterTests.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -140,6 +142,7 @@
8D26A31B2C0EA9C100E9B015 /* QuestionNavbar.swift */,
8D26A31D2C0EE3F400E9B015 /* QuestionImages.swift */,
8D26A31F2C0EE4A000E9B015 /* QuestionView.swift */,
8D3F7ABD2C202FD100D200CA /* AllCourses.swift */,
);
path = Components;
sourceTree = "<group>";
Expand Down Expand Up @@ -599,6 +602,7 @@
8D8D8AE42C05A27800ACC61C /* QuestionLoader.swift in Sources */,
8D8D8ACE2C05A27800ACC61C /* ConfirmPopup.swift in Sources */,
8D8D8AE32C05A27800ACC61C /* FavoriteStorage.swift in Sources */,
8D3F7ABE2C202FD100D200CA /* AllCourses.swift in Sources */,
8D26A3202C0EE4A000E9B015 /* QuestionView.swift in Sources */,
8D8D8AD62C05A27800ACC61C /* ExamSummaryView.swift in Sources */,
8D8D8AD92C05A27800ACC61C /* HomeView.swift in Sources */,
Expand Down Expand Up @@ -771,7 +775,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 3;
CURRENT_PROJECT_VERSION = 4;
DEVELOPMENT_ASSET_PATHS = "\"CloudMaster/Preview Content\"";
DEVELOPMENT_TEAM = 9D3QHQ7CMS;
ENABLE_PREVIEWS = YES;
Expand All @@ -786,7 +790,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.3;
MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = com.ditectrev.cloudmasterswift;
PRODUCT_NAME = "CloudMaster Swift";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -806,7 +810,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 3;
CURRENT_PROJECT_VERSION = 4;
DEVELOPMENT_ASSET_PATHS = "\"CloudMaster/Preview Content\"";
DEVELOPMENT_TEAM = 9D3QHQ7CMS;
ENABLE_PREVIEWS = YES;
Expand All @@ -821,7 +825,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.3;
MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = com.ditectrev.cloudmasterswift;
PRODUCT_NAME = "CloudMaster Swift";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down
Binary file not shown.
21 changes: 21 additions & 0 deletions CloudMaster/Assets.xcassets/otherIcon.imageset/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "seal.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
186 changes: 169 additions & 17 deletions CloudMaster/Constants/Courses.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ enum CourseCompany: String, Codable, Hashable, CaseIterable {
case aws = "Amazon Web Services"
case azure = "Microsoft Azure"
case gcp = "Google Cloud Platform"
case other = "Others"
}


Expand Down Expand Up @@ -62,7 +63,7 @@ struct Course: Codable, Hashable, Identifiable {
extension Course {
static let allCourses = [
Course(
fullName: "AWS Certified Advanced Networking Specialty",
fullName: "Certified Advanced Networking Specialty",
shortName: "ANS-C01",
description: "Validates expertise in designing and maintaining AWS network architecture, including hybrid IT, routing, and security.",
company: .aws,
Expand All @@ -77,22 +78,7 @@ extension Course {
lastUpdate: nil
),
Course(
fullName: "AWS Certified Solutions Architect Associate",
shortName: "SAA-C03",
description: "Covers designing and deploying scalable, highly available, and fault-tolerant systems on AWS.",
company: .aws,
repositoryURL: "https://github.com/Ditectrev/AWS-Certified-Solutions-Architect-Associate-SAA-C03-Practice-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/AWS-Certified-Solutions-Architect-Associate-SAA-C03-Practice-Tests-Exams-Questions-Answers/main/README.md",
url: "https://aws.amazon.com/certification/certified-solutions-architect-associate/",
exam: Exam(
quick: ExamDetail(time: 40, questionCount: 20),
intermediate: ExamDetail(time: 84, questionCount: 49),
real: ExamDetail(time: 120, questionCount: 65)
),
lastUpdate: nil
),
Course(
fullName: "AWS Certified Cloud Practitioner",
fullName: "Certified Cloud Practitioner",
shortName: "CLF-C02",
description: "Provides a foundational understanding of AWS cloud concepts, services, security, architecture, pricing, and support.",
company: .aws,
Expand All @@ -106,6 +92,97 @@ extension Course {
),
lastUpdate: nil
),
Course(
fullName: "Certified Data Analytics",
shortName: "DAS-C01",
description: "Validates expertise in designing, building, securing, and maintaining analytics solutions on AWS, demonstrating advanced skills in using AWS data lakes, analytics services, and visualization tools.",
company: .aws,
repositoryURL: "https://github.com/Ditectrev/Amazon-Web-Services-Certified-AWS-Certified-Data-Analytics-DAS-C01-Practice-Tests-Exams-Question",
questionURL: "https://raw.githubusercontent.com/Ditectrev/Amazon-Web-Services-Certified-AWS-Certified-Data-Analytics-DAS-C01-Practice-Tests-Exams-Question/main/README.md",
url: "https://aws.amazon.com/training/learn-about/data-analytics/",
exam: Exam(
quick: ExamDetail(time: 57, questionCount: 22),
intermediate: ExamDetail(time: 119, questionCount: 46),
real: ExamDetail(time: 170, questionCount: 65)
),
lastUpdate: nil
),
Course(
fullName: "Certified Database Specialty",
shortName: "DBS-C01",
description: "Validates expertise in designing, managing, and securing AWS database solutions, demonstrating advanced knowledge of various database services and architectures on the AWS platform.",
company: .aws,
repositoryURL:"https://github.com/Ditectrev/Amazon-Web-Services-Certified-AWS-Certified-Database-DBS-C01-Practice-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/Amazon-Web-Services-Certified-AWS-Certified-Database-DBS-C01-Practice-Tests-Exams-Questions-Answers/main/README.md",
url: "https://aws.amazon.com/training/classroom/exam-readiness-aws-certified-database-specialty/",
exam: Exam(
quick: ExamDetail(time: 57, questionCount: 22),
intermediate: ExamDetail(time: 119, questionCount: 46),
real: ExamDetail(time: 170, questionCount: 65)
),
lastUpdate: nil
),
Course(
fullName: "Certified Developer Associate",
shortName: "DVA-C02",
description: "Validates proficiency in developing, deploying, and debugging applications on the AWS cloud, demonstrating a strong understanding of core AWS services, architecture, and best practices.",
company: .aws,
repositoryURL: "https://github.com/Ditectrev/Amazon-Web-Services-AWS-Developer-Associate-DVA-C02-Practice-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/Amazon-Web-Services-AWS-Developer-Associate-DVA-C02-Practice-Tests-Exams-Questions-Answers/main/README.md",
url: "https://aws.amazon.com/certification/certified-developer-associate/",
exam: Exam(
quick: ExamDetail(time: 57, questionCount: 22),
intermediate: ExamDetail(time: 119, questionCount: 46),
real: ExamDetail(time: 170, questionCount: 65)
),
lastUpdate: nil
),
Course(
fullName: "Certified Machine Learning Specialty",
shortName: "MLS-C01",
description: "Validates proficiency in developing, deploying, and debugging applications on the AWS cloud, demonstrating a strong understanding of core AWS services, architecture, and best practices.",
company: .aws,
repositoryURL: "https://github.com/Ditectrev/Amazon-Web-Services-Certified-AWS-Certified-Machine-Learning-MLS-C01-Practice-Tests-Exams-Question",
questionURL: "https://raw.githubusercontent.com/Ditectrev/Amazon-Web-Services-Certified-AWS-Certified-Machine-Learning-MLS-C01-Practice-Tests-Exams-Question/main/README.md",
url: "https://aws.amazon.com/certification/certified-machine-learning-specialty/",
exam: Exam(
quick: ExamDetail(time: 57, questionCount: 22),
intermediate: ExamDetail(time: 119, questionCount: 46),
real: ExamDetail(time: 170, questionCount: 65)
),
lastUpdate: nil
),

Course(
fullName: "Certified Security Specialty",
shortName: "SCS-C02",
description: "Validates advanced expertise in securing and managing AWS environments, demonstrating comprehensive knowledge of security best practices, compliance, identity and access management, incident response, and data protection on the AWS platform.",
company: .aws,
repositoryURL: "https://github.com/Ditectrev/Amazon-Web-Services-Certified-AWS-Certified-Security-SCS-C02-Practice-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/Amazon-Web-Services-Certified-AWS-Certified-Security-SCS-C02-Practice-Tests-Exams-Questions-Answers/main/README.md",
url: "https://aws.amazon.com/certification/certified-security-specialty/",
exam: Exam(
quick: ExamDetail(time: 57, questionCount: 22),
intermediate: ExamDetail(time: 119, questionCount: 46),
real: ExamDetail(time: 170, questionCount: 65)
),
lastUpdate: nil
),
Course(
fullName: "Certified Solutions Architect Associate",
shortName: "SAA-C03",
description: "Covers designing and deploying scalable, highly available, and fault-tolerant systems on AWS.",
company: .aws,
repositoryURL: "https://github.com/Ditectrev/AWS-Certified-Solutions-Architect-Associate-SAA-C03-Practice-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/AWS-Certified-Solutions-Architect-Associate-SAA-C03-Practice-Tests-Exams-Questions-Answers/main/README.md",
url: "https://aws.amazon.com/certification/certified-solutions-architect-associate/",
exam: Exam(
quick: ExamDetail(time: 40, questionCount: 20),
intermediate: ExamDetail(time: 84, questionCount: 49),
real: ExamDetail(time: 120, questionCount: 65)
),
lastUpdate: nil
),
Course(
fullName: "Azure Fundamentals",
shortName: "AZ-900",
Expand Down Expand Up @@ -224,6 +301,81 @@ extension Course {
real: ExamDetail(time: 120, questionCount: 60)
),
lastUpdate: nil
),
Course(
fullName: "IT Service Management 4",
shortName: "ITL-4",
description: "Entry-level certification that demonstrates an understanding of the core concepts and principles of IT Service Management based on the ITIL 4 framework.",
company: .other,
repositoryURL: "https://github.com/Ditectrev/ITIL-4-Foundation-IT-Service-Management-Practice-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/ITIL-4-Foundation-IT-Service-Management-Practice-Tests-Exams-Questions-Answers/main/README.md",
url: "https://www.axelos.com/certifications/itil-service-management/",
exam: Exam(
quick: ExamDetail(time: 40, questionCount: 20),
intermediate: ExamDetail(time: 84, questionCount: 42),
real: ExamDetail(time: 120, questionCount: 60)
),
lastUpdate: nil
),
Course(
fullName: "Agile Foundation",
shortName: "Prince-2",
description: "The PRINCE2 Agile Foundation Certificate validates an individual’s knowledge of how to apply the PRINCE2 project management methodology in an agile environment.",
company: .other,
repositoryURL:"https://github.com/Ditectrev/PRINCE2-Agile-Foundation-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/PRINCE2-Agile-Foundation-Tests-Exams-Questions-Answers/main/README.md",
url: "https://www.axelos.com/certifications/propath/prince2-agile-project-management/prince2-agile-foundation",
exam: Exam(
quick: ExamDetail(time: 40, questionCount: 20),
intermediate: ExamDetail(time: 84, questionCount: 42),
real: ExamDetail(time: 120, questionCount: 60)
),
lastUpdate: nil
),
Course(
fullName: "Scrum Developer I",
shortName: "PSD-1",
description: "Verifies a developer’s understanding of Scrum principles and their ability to work effectively within a Scrum team, focusing on collaborative and incremental software development practices.",
company: .other,
repositoryURL: "https://github.com/Ditectrev/Professional-Scrum-Developer-I-PSD-I-Practice-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/Professional-Scrum-Developer-I-PSD-I-Practice-Tests-Exams-Questions-Answers/master/README.md",
url: "https://www.scrum.org/assessments/professional-scrum-developer-certification",
exam: Exam(
quick: ExamDetail(time: 40, questionCount: 20),
intermediate: ExamDetail(time: 84, questionCount: 42),
real: ExamDetail(time: 120, questionCount: 60)
),
lastUpdate: nil
),
Course(
fullName: "Scrum Master I",
shortName: "SM-1",
description: "Demonstrates advanced proficiency in facilitating and leading Scrum teams, emphasizing the application of Scrum practices, principles, and techniques to maximize team productivity and efficiency.",
company: .other,
repositoryURL: "https://github.com/Ditectrev/Professional-Scrum-Master-I-PSM-I-Practice-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/Professional-Scrum-Master-I-PSM-I-Practice-Tests-Exams-Questions-Answers/main/README.md",
url: "https://www.scrum.org/assessments/professional-scrum-master-i-certification",
exam: Exam(
quick: ExamDetail(time: 40, questionCount: 20),
intermediate: ExamDetail(time: 84, questionCount: 42),
real: ExamDetail(time: 120, questionCount: 60)
),
lastUpdate: nil
),
Course(
fullName: "Scrum Master II",
shortName: "SM-2",
description: "Demonstrates advanced proficiency in facilitating and leading Scrum teams, emphasizing the application of Scrum practices, principles, and techniques to maximize team productivity and efficiency.",
company: .other,
repositoryURL:"https://github.com/Ditectrev/Professional-Scrum-Master-II-PSM-II-Practice-Tests-Exams-Questions-Answers",
questionURL: "https://raw.githubusercontent.com/Ditectrev/Professional-Scrum-Master-II-PSM-II-Practice-Tests-Exams-Questions-Answers/main/README.md",
url: "https://www.scrum.org/assessments/professional-scrum-master-ii-certification",
exam: Exam(
quick: ExamDetail(time: 40, questionCount: 20),
intermediate: ExamDetail(time: 84, questionCount: 42),
real: ExamDetail(time: 120, questionCount: 60)
),
lastUpdate: nil
)
]
}
15 changes: 1 addition & 14 deletions CloudMaster/Features/Courses/Views/CoursesView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,7 @@ struct CoursesView: View {

var body: some View {
VStack {
SearchBar(text: $searchText)
.padding()

List(Course.allCourses.filter({ searchText.isEmpty ? true : $0.fullName.lowercased().contains(searchText.lowercased()) })) { course in
CourseRow(course: course, isBookmarked: favorites.contains(course)) {
if favorites.contains(course) {
favorites.remove(course)
} else {
favorites.insert(course)
}
FavoritesStorage.shared.saveFavorites(favorites)
}
}
.listStyle(PlainListStyle())
AllCourses(favorites: $favorites)
}
.navigationBarTitle("All Courses", displayMode: .inline)
.navigationBarItems(trailing: updateButton)
Expand Down
Loading

0 comments on commit 2f848ff

Please sign in to comment.