public async Task MudPopoverService_DisposeAsync() { var mock = new Mock <IJSRuntime>(); mock.Setup(x => x.InvokeAsync <IJSVoidResult>( "mudPopover.initilize", It.Is <object[]>(x => x.Length == 2 && (string)x[0] == "mudblazor-main-content" && (int)x[1] == 0))).ReturnsAsync(Mock.Of <IJSVoidResult>).Verifiable(); mock.Setup(x => x.InvokeAsync <IJSVoidResult>( "mudPopover.dispose", It.Is <object[]>(x => x.Length == 0))).ReturnsAsync(Mock.Of <IJSVoidResult>).Verifiable(); var service = new MudPopoverService(mock.Object); await service.InitializeIfNeeded(); await service.DisposeAsync(); mock.Verify(); }
public async Task MudPopoverService_DisposeAsync_ThrowsExceptionIfNotTaskCancelException() { var mock = new Mock <IJSRuntime>(); mock.Setup(x => x.InvokeAsync <IJSVoidResult>( "mudPopover.initilize", It.Is <object[]>(x => x.Length == 2 && (string)x[0] == "mudblazor-main-content" && (int)x[1] == 0))).ReturnsAsync(Mock.Of <IJSVoidResult>).Verifiable(); mock.Setup(x => x.InvokeAsync <IJSVoidResult>( "mudPopover.dispose", It.Is <object[]>(x => x.Length == 0))).ThrowsAsync(new InvalidOperationException()).Verifiable(); var service = new MudPopoverService(mock.Object); await service.InitializeIfNeeded(); //any other exception (despite TaskCancelException, should result in an exception Assert.ThrowsAsync <InvalidOperationException>(async() => await service.DisposeAsync()); mock.Verify(); }
public async Task MudPopoverService_DisposeAsync_WithTaskCancelException() { var mock = new Mock <IJSRuntime>(); mock.Setup(x => x.InvokeAsync <IJSVoidResult>( "mudPopover.initilize", It.Is <object[]>(x => x.Length == 2 && (string)x[0] == "mudblazor-main-content" && (int)x[1] == 0))).ReturnsAsync(Mock.Of <IJSVoidResult>).Verifiable(); mock.Setup(x => x.InvokeAsync <IJSVoidResult>( "mudPopover.dispose", It.Is <object[]>(x => x.Length == 0))).ThrowsAsync(new TaskCanceledException()).Verifiable(); var service = new MudPopoverService(mock.Object); await service.InitializeIfNeeded(); //dispose shouldn't throw an exception in task a TaskCanceledException happend await service.DisposeAsync(); mock.Verify(); }
public async Task MudPopoverService_OnlyDisposeIfConnected() { var service = new MudPopoverService(Mock.Of <IJSRuntime>(MockBehavior.Strict)); await service.DisposeAsync(); }