How can a Blazored Modal be unit tested? (I'm using the bUnit framework.) #528
Labels
Feature
New feature that will be added to the project
Up For Grabs
This issue is available to anyone that wants to help
How can a Blazored Modal be unit tested? (I'm using the bUnit framework.)
My modal component has a CascadingParameter BlazoredModalInstance. Clicking "OK" calls BlazoredModalInstance.CloseAsync(), and cancelling calls BlazoredModalInstance.CancelAsync(). The Blazored Modal works fine in my application. (Thanks for the good work!)
Since BlazoredModalInstance is a class, I can't use a mock to check if CloseAsync or CancelAsync have been called.
I can construct a BlazoredModalInstance object in the test and supply it as a parameter to a surrounding my modal component under test, but when e.g. CloseAsync is called, I get a NullReferenceException at Blazored.Modal.BlazoredModalInstance.d__72.MoveNext().
Do I need set up the initial state of this test BlazoredModalInstance object more, e.g., by calling some other methods on it?
I had hoped for something more like IModalService. I am able to unit test the code to show my modal (e.g., IModalService.Show). It's very easy to mock IModalService and IModalReference in order to test my modal from the "outside". But I can't figure out how to test the modal from the "inside".
Originally posted by @linestandard in #311
The text was updated successfully, but these errors were encountered: