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 display 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 and profile lookup is already covered by other tests, so we can just make sure that the scripted test logs in and can load an account to the "Profile" tab
* A profile can be loaded to the summary screen
* The customer's name displays in the upper left and matches the account details
* The customer's account number displays appropriately and matches the account details
* The address displays appropriately and matches the account details
* The telephone number displays appropriately and matches the account details
* The email address displays appropriately and matches the account details
* The "customer for" field displays appropriately and matches the account details
* The 3 icons for service (internet, telephone, TV) display according to what services the customer receives
* The last payment date loads and displays
* The amount due and date loads and displays
* The timeline grid displays appropriately
* Individual timeline cells can be tapped and displayed in a popup
* The recent customers dropdown displays the recently loaded customer profiles
* Clicking the "close" button in the header shows the warning about closing the profile
* Clicking a recent customer in the recent customers drop down allows the user to load up a previously loaded customer
* The details shown for the current customer in the header matches the loaded profile
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 display 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 and profile lookup is already covered by other tests, so we can just make sure that the scripted test logs in and can load an account to the "Profile" tab
* A profile can be loaded to the summary screen
* The customer's name displays in the upper left and matches the account details
* The customer's account number displays appropriately and matches the account details
* The address displays appropriately and matches the account details
* The telephone number displays appropriately and matches the account details
* The email address displays appropriately and matches the account details
* The "customer for" field displays appropriately and matches the account details
* The 3 icons for service (internet, telephone, TV) display according to what services the customer receives
* The last payment date loads and displays
* The amount due and date loads and displays
* The timeline grid displays appropriately
* Individual timeline cells can be tapped and displayed in a popup
* The recent customers dropdown displays the recently loaded customer profiles
* Clicking the "close" button in the header shows the warning about closing the profile
* Clicking a recent customer in the recent customers drop down allows the user to load up a previously loaded customer
* The details shown for the current customer in the header matches the loaded profile
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.