public void MudPopoverService_RegisterAndUseHandler() { var service = new MudPopoverService(Mock.Of <IJSRuntime>(MockBehavior.Strict)); int fragmentChangedCounter = 0; service.FragmentsChanged += (e, args) => { fragmentChangedCounter++; }; RenderFragment fragment = (builder) => { }; var handler = service.Register(fragment); handler.Should().NotBeNull(); fragmentChangedCounter.Should().Be(1); RenderFragment changedFragment = (builder) => { }; var comp = Context.RenderComponent <MudBadge>(p => { p.Add(x => x.UserAttributes, new Dictionary <string, object> { { "myprop1", "myValue1" } }); p.Add(x => x.Tag, "my tag"); }); handler.UpdateFragment(changedFragment, comp.Instance, "my-class", "my-style", true); fragmentChangedCounter.Should().Be(2); }
public async Task MudPopoverService_Unregister_NotConnected() { var service = new MudPopoverService(Mock.Of <IJSRuntime>(MockBehavior.Strict)); RenderFragment fragment = (builder) => { }; var handler = service.Register(fragment); var result = await service.Unregister(handler); result.Should().BeTrue(); }
public async Task MudPopoverService_Unregister() { var handlerId = Guid.NewGuid(); var mock = new Mock <IJSRuntime>(); mock.Setup(x => x.InvokeAsync <IJSVoidResult>( "mudPopover.connect", It.Is <object[]>(x => x.Length == 1 && (Guid)x[0] == handlerId))).ReturnsAsync(Mock.Of <IJSVoidResult>).Verifiable(); mock.Setup(x => x.InvokeAsync <IJSVoidResult>( "mudPopover.disconnect", It.Is <object[]>(x => x.Length == 1 && (Guid)x[0] == handlerId))).ReturnsAsync(Mock.Of <IJSVoidResult>).Verifiable(); var service = new MudPopoverService(mock.Object); await service.InitializeIfNeeded(); RenderFragment fragment = (builder) => { }; var handler = service.Register(fragment); handlerId = handler.Id; await handler.Initialize(); int fragmentChangedCounter = 0; service.FragmentsChanged += (e, args) => { fragmentChangedCounter++; }; var result = await service.Unregister(handler); result.Should().BeTrue(); fragmentChangedCounter.Should().Be(1); var secondResult = await service.Unregister(handler); secondResult.Should().BeFalse(); mock.Verify(); }