This is just a checklist of things we need, you can mark them if they are already implemented
Features
[x] Images are resized client side when not from notifo-server
[x] Images are resized server side when from notifo server
[x] Images resizing does not block the UI thread
[x] Good token renewal behavior
[x] Formatting: Large image
[x] Formatting: Small image
[x] Formatting: Body
[x] Formatting: Confirm Button
[x] Formatting: Link
[x] Silent notification are not rendered but available through Event handler
[x] Developer can get references for all clients through SDK
[x] Simple configuration builder
[x] Simple and basic documentation in Readme
[x] Readme provides screenshots for major formatting options
[x] SDK stores seen notifications in a persistent storage to filter out duplicates
[x] SDK updates notifications when already seen, e.g. to remove confirmation when confirmed by other channel
[x] Timestamp shown properly if possible???
[x] XML comments for all public facing APIs
[x] XML comments are available in NuGet package
[x] SDK events are typed (as less Dictionaries as possible)
[x] Sample uses official SDK only
[x] SDK is easy to integrate into Dependency injection systems
Code
[x] Code follows Notifo style guide
[x] Namespaces match to the folder they belong to
Manual testing
Token refresh testing
[x] Go to web portal -> user details, fresh install the app, open the app, refresh users details page, does the mobile counter increased by one?
Formatting options testing
[x] Fill subject, body, small image (supported on Android only), large image, link text, link URL, confirm text, explicit confirm mode, publish notification, does every formatting option presented on notification?
[x] Send two or more notifications one after another with different formatting options, does options show correctly on every notification?
[x] Send notifications with a link and/or explicit confirm mode, does clicking on buttons open the browser with correct links?
[x] Send notifications with an explicit confirm mode, confirm notification on one device, did confirmation button disappear from other devices?
[x] Do all the above formatting tests work for remote and local notifications.
Notifications delivery testing
[x] Open the app, send a notification, does the list refreshed with the new notification at the top?
[x] Move app in the background by pressing the home button (or back button for Android), send a notification, does the notification appears in the device notification area?
[x] Turn the screen off, send a notification, do the phone wakeups and notification appear in the device notification area?
[x] Terminate the app by swiping in from the task manager, send a notification, does notification appears in the device notification area?
[x] Move app in the background, send a notification, do you hear notification sound?
[x] Click on the notification, do you see a "Notification opened" pop-up (in the background and terminated states)?
Offline mode testing
[x] Turn the internet connection off, send a few notifications one by one, turn the internet connection on
[x] Android: do all notifications appears in a few seconds?
[x] iOS: does the last notification appears in a few seconds, and then the rest notifications appear in a 1 to 30 minutes time frame?
[x] Turn internet connection off, send a few notifications with a few minutes interval, turn internet connection on
[x] Android: do all notifications appears in a few seconds?
[x] iOS: does the last notification appears in a few seconds, and then the rest notifications appear in a 1 to 30 minutes time frame?
[x] Turn internet connection off, send a few notifications with a few minutes interval, wait a few hours, turn internet connection on
[x] Android: do all notifications appears in a few seconds?
[x] iOS: does the last notification appears in a few seconds, and then the rest notifications appear in a 1 to 30 minutes time frame?
[x] Do all the above offline tests for the app in foreground, background, and terminated states.
I've extended the above checklist with the manual testing section, I'll be adding new points as I discover them. Please feel free to add your points, thanks.
This is just a checklist of things we need, you can mark them if they are already implemented
Features
Code
Manual testing
Token refresh testing
Formatting options testing
Notifications delivery testing
Offline mode testing
"Smells"
Just some things I have found: