Skip to content

Conversation

@fadi-george
Copy link
Collaborator

@fadi-george fadi-george commented Nov 17, 2025

Description

One Line Summary

Improves test coverage up to 52.6%.

Details

Can run rps test to validate.

  • updates liveactivities src file to use defaultTargetPlatform logic instead of direct platform check
  • update mock_channel helper and reuse for more tests

Motivation

Want to have high coverage.

Scope

This PR adds new test files for live activities and location, and enhances the notification tests. It also refactors existing in-app message tests to utilize the mock channel. The changes are intended to improve the overall stability and reliability of the SDK.

OPTIONAL - Other

The use of a mock channel helps prevent external dependencies from affecting test results, leading to more consistent and accurate test runs.

Testing

Unit testing

The PR includes unit tests for:

  • Location functionality (requesting permission, setting/getting shared state)
  • Live Activities (entering, exiting, setting up, starting, managing push tokens)
  • Notification (parsing from JSON, displaying notifications, preventing default behavior)
  • In-App Messages (trigger management, pausing/resuming, lifecycle initialization, event handling)

Manual testing

Manual testing was not performed for this change. The changes consist primarily of unit tests and refactoring to use mock channels, which are designed to be platform-independent.

Affected code checklist

  • Notifications
    • Display
    • Open
    • Push Processing
    • Confirm Deliveries
  • Outcomes
  • Sessions
  • In-App Messaging
  • REST API requests
  • Public API changes

Checklist

Overview

  • I have filled out all REQUIRED sections above
  • PR does one thing
    • If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR
  • Any Public API changes are explained in the PR details and conform to existing APIs

Testing

  • I have included test coverage for these changes, or explained why they are not needed
  • All automated tests pass, or I explained why that is not possible
  • I have personally tested this on my device, or explained why that is not possible

Final pass

  • Code is as readable as possible.
    • Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code.
  • I have reviewed this PR myself, ensuring it meets each checklist item
    • WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this.

This change is Reviewable

@fadi-george fadi-george requested a review from a team as a code owner November 17, 2025 20:47
@fadi-george fadi-george changed the title ci: improve test coverage test: improve test coverage Nov 19, 2025
Base automatically changed from fg/tests to main November 19, 2025 23:02
@fadi-george fadi-george merged commit ec664ac into main Nov 19, 2025
2 checks passed
@fadi-george fadi-george deleted the fg/tests-2 branch November 19, 2025 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants