OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your native iOS app with OneSignal. https://onesignal.com
There are now two Test Plans in the UnitTestApp, a UnitTestApp_TestPlan_Full which is the Default test plan and can be run in Xcode, and a UnitTestApp_TestPlan_Reduced with concurrency tests disabled that is run by the CI script.
Other Misc Changes
Move concurrency tests into 1 file
Add some more "waits" related fixes in tests
Fix bug that didn't clear user defaults between tests
Motivation
Fix flaky tests so the CI can be meaningful.
Scope
Tests
Testing
Unit testing
See PR description, since PR is about tests.
Ran CI 9 times in a row
Manual testing
Minimal
Affected code checklist
[ ] Notifications
[ ] Display
[ ] Open
[ ] Push Processing
[ ] Confirm Deliveries
[ ] Outcomes
[ ] Sessions
[ ] In-App Messaging
[ ] REST API requests
[ ] Public API changes
Checklist
Overview
[x] I have filled out all REQUIRED sections above
[x] PR does one thing
[x] Any Public API changes are explained in the PR details and conform to existing APIs
Testing
[x] I have included test coverage for these changes, or explained why they are not needed
[x] All automated tests pass, or I explained why that is not possible
[x] I have personally tested this on my device, or explained why that is not possible
Final pass
[x] Code is as readable as possible.
[x] I have reviewed this PR myself, ensuring it meets each checklist item
Description
One Line Summary
Fix flaky tests so the CI can be meaningful.
Details
Add
OneSignalOSCoreMocks
moduleIntroduce 2 separate Test Plans
UnitTestApp_TestPlan_Full
which is the Default test plan and can be run in Xcode, and aUnitTestApp_TestPlan_Reduced
with concurrency tests disabled that is run by the CI script.Other Misc Changes
Motivation
Fix flaky tests so the CI can be meaningful.
Scope
Tests
Testing
Unit testing
Manual testing
Minimal
Affected code checklist
Checklist
Overview
Testing
Final pass
This change is