Пример #1
0
        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);
        }
Пример #2
0
        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();
        }
Пример #3
0
        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();
        }