Skip to content

Conversation

@JeroenWeener
Copy link
Contributor

✨ What kind of change does this PR introduce? (Bug fix, feature, docs update...)

Adds method to platform interface to remove the registered instance. This is useful for tests where a test needs to check the behavior of a non-existing instance.

⤵️ What is the current behavior?

There is no way to set the instance to null, as there is a specific check to prevent users from doing that.

🆕 What is the new behavior (if this is a feature change)?

Using removeInstance, tests can unregistered a previously registered instance of the platform interface.

💥 Does this PR introduce a breaking change?

No.

🐛 Recommendations for testing

📝 Links to relevant issues/docs

This PR is part of #33.

🤔 Checklist before submitting

  • All projects build
  • Follows style guide lines (code style guide)
  • Relevant documentation was updated
  • Rebased onto current develop

@JeroenWeener JeroenWeener self-assigned this Mar 14, 2023
Copy link

@paulppn paulppn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@paulppn paulppn merged commit 7e5c85e into Baseflow:main Mar 23, 2023
/// This method is exposed for testing purposes only and should not be used by
/// clients of the plugin.
@visibleForTesting
static removeInstance() => _instance = null;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a specific use case for this?

I have not seen it in any of the other plugins and from the top of my head I cannot really think of a specific case where this is needed. Would like to hear if there is one.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is included so we can test whether the methods that are exposed to users of the plugin correctly throw if no platform is registered. This way we can emulate the scenario where the app runs on an unsupported platform.

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