Challenge Overview
The Retail 360 iOS App is a tool used by Hercules employees in their retail stores. The app allows for looking up customer details and will eventually contain lots of functionality for managing customer accounts, making changes to their accounts, and adding notes, sending emails, etc...
We have released version 1 of the app to some employees, and version 2 is nearing completion. As we add more and more functionality, we need to ensure that the existing functionality isn't broken by any new changes.
This challenge will expand the UI unit tests for the app, which we will build on over the next couple of months to get proper coverage of the app.
Requirements:
This challenge will expand the unit tests that exist to cover the profile lookup functionality on the "Profile" tab of the app.
Coverage:
Proper coverage is required, of positive and negative test cases. The reviewers should ensure that the coverage report can be run and that the coverage % is appropriate for the functionality tested.
Required tests:
Note: All tests require a login. Login is already covered by other tests, so we can just make sure that the scripted test logs in and can get to the "Profile" tab
* Lookup a single user by email
* Lookup a single user by account number
* Lookup a single user by phone number
* Lookup a single user by first name / last name
* Search for a user by first name / last name ("John Smith" should return a good number of results)
* Scroll the results table
* Load more results in the paginated table ("Get next 10 results" button)
* Tap on a user to bring up the validation window
* Validate the details in the validation window show appropriately
* Close the validation window by the "X"
* Click the "Driver's License" button
* Click the "State ID" button
* Click the "US Passport" button
* Do another search after browsing the results of an initial search ("Jim Smith" would be a good second search)
* Initiate search by "Lookup" button
* Initiate search by "Go" on keyboard
* Clicking "ID Doesn't match..." brings up the SSN validation
* Entering an invalid 4 digit SSN shows the proper error message
* If the search brings up only a single result, the validation window should show automatically
The scanning functionality is not in scope. Positive testing for SSN validation is not in scope.
Helpful links:
* https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/09-ui_testing.html
* https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/07-code_coverage.html
* http://cleanswifter.com/measuring-swift-code-coverage/
* https://developer.apple.com/videos/play/wwdc2015/410/
* http://mgrebenets.github.io/mobile%20ci/2015/09/21/code-coverage-for-ios-xcode-7
No video is required for this challenge.
A separate UNIT_TESTS_README.md exists in Git. It should be updated for this challenge.
We have released version 1 of the app to some employees, and version 2 is nearing completion. As we add more and more functionality, we need to ensure that the existing functionality isn't broken by any new changes.
This challenge will expand the UI unit tests for the app, which we will build on over the next couple of months to get proper coverage of the app.
Requirements:
This challenge will expand the unit tests that exist to cover the profile lookup functionality on the "Profile" tab of the app.
Coverage:
Proper coverage is required, of positive and negative test cases. The reviewers should ensure that the coverage report can be run and that the coverage % is appropriate for the functionality tested.
Required tests:
Note: All tests require a login. Login is already covered by other tests, so we can just make sure that the scripted test logs in and can get to the "Profile" tab
* Lookup a single user by email
* Lookup a single user by account number
* Lookup a single user by phone number
* Lookup a single user by first name / last name
* Search for a user by first name / last name ("John Smith" should return a good number of results)
* Scroll the results table
* Load more results in the paginated table ("Get next 10 results" button)
* Tap on a user to bring up the validation window
* Validate the details in the validation window show appropriately
* Close the validation window by the "X"
* Click the "Driver's License" button
* Click the "State ID" button
* Click the "US Passport" button
* Do another search after browsing the results of an initial search ("Jim Smith" would be a good second search)
* Initiate search by "Lookup" button
* Initiate search by "Go" on keyboard
* Clicking "ID Doesn't match..." brings up the SSN validation
* Entering an invalid 4 digit SSN shows the proper error message
* If the search brings up only a single result, the validation window should show automatically
The scanning functionality is not in scope. Positive testing for SSN validation is not in scope.
Helpful links:
* https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/09-ui_testing.html
* https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/07-code_coverage.html
* http://cleanswifter.com/measuring-swift-code-coverage/
* https://developer.apple.com/videos/play/wwdc2015/410/
* http://mgrebenets.github.io/mobile%20ci/2015/09/21/code-coverage-for-ios-xcode-7
Submission format
Your submission should be provided as a Git patch file against the commit hash mentioned in the forum. MAKE SURE TO TEST YOUR PATCH FILE!
Your submission should be provided as a Git patch file against the commit hash mentioned in the forum. MAKE SURE TO TEST YOUR PATCH FILE!
No video is required for this challenge.
A separate UNIT_TESTS_README.md exists in Git. It should be updated for this challenge.