예제 #1
0
        public void HeadersForLearningSectionsAreDisplayed()
        {
            var learnCards  = _learn.FindAll(".card");
            var cardHeaders = learnCards.Children(".card-header").ToList();

            Assert.Single(cardHeaders, header => header.ToMarkup().Contains("Learn .NET"));
            Assert.Single(cardHeaders, header => header.ToMarkup().Contains("Learn Azure"));
        }
예제 #2
0
        public void AllLinksToLearningResourcesAreProvided()
        {
            var learnCards = _learn.FindAll(".card");
            var links      = learnCards
                             .Children(".list-group-item a")
                             .Select(a => a as IHtmlAnchorElement);

            Assert.All(links, link => Uri.IsWellFormedUriString(link?.Href,
                                                                UriKind.RelativeOrAbsolute));
        }
        public void ShouldFireMediatorEventEachTimeWhenLanguageChanged()
        {
            // =====================================
            // Hint for css selector

            /*
             * By.css('.classname')          // get by class name
             * By.css('input[type=radio]')   // get input by type radio
             * By.css('.parent .child')      // get child who has a parent
             */

            // Take a look at the component text
            // var html = _component.Markup;

            // =====================================

            // All 3 languages in a RadzenSplitButton
            var elements = _component.FindAll(".rz-menuitem");

            elements.Should().NotBeNull();
            elements.Count.Should().Be(3);

            string[] expectedLanguages = { "en-US", "ru-RU", "de-DE" };
            for (int i = 0; i < 3; i++)
            {
                elements[i].Click();
                MediatorMock.Verify(m => m.Publish(
                                        It.Is <ChangeCurrentCultureMessage>(m => m.CultureName == expectedLanguages[0]),
                                        It.IsAny <CancellationToken>()), Times.Once);
            }
        }
예제 #4
0
        public void RequestToSpeakFormIsProvided()
        {
            var formExists = _speak.FindAll("a")
                             .Select(a => a as IHtmlAnchorElement)
                             .Any(a => a?.Href is "https://forms.gle/XXjdqUd4e4efYxKQ8");

            Assert.True(formExists);
        }
예제 #5
0
        private static void VerifyTitle(IRenderedComponent <Dashboard> cut)
        {
            var allHeaders = cut.FindAll("h2");

            allHeaders.Count.Should().Be(2);
            allHeaders.Where(h => h.TextContent == "Name").Count().Should().Be(1);
            allHeaders.Where(h => h.TextContent == "Hi UserName!").Count().Should().Be(1);
        }
예제 #6
0
        private static void VeryfyAddCourseTile(IRenderedComponent <Dashboard> cut)
        {
            var addNewCourse = cut.FindAll("div.add-new");

            addNewCourse.Count.Should().Be(1);
            addNewCourse.Select(h => h.InnerHtml)
            .First().Should().Contain("Add a new course");
        }
예제 #7
0
        private void AssertLinkExists(string link)
        {
            var linkExists = _systemUnderTest
                             .FindAll("a")
                             .Select(a => a as IHtmlAnchorElement)
                             .Any(a => a?.Href == link);

            Assert.True(linkExists);
        }
예제 #8
0
        private static void VerifyEditDisplay(IRenderedComponent <Dashboard> cut, int number)
        {
            var links    = cut.FindAll("a");
            var editLink = links
                           .SelectMany(l => l.Attributes
                                       .Where(a => a.Name == "href" && a.Value.StartsWith("/details/"))
                                       .Select(a => a.Value));

            editLink.Count().Should().Be(number);
        }
예제 #9
0
        private IHtmlInputElement[] GetColorInputs(IRenderedComponent <SimpleColorPickerTest> comp, int expectedCount = 4)
        {
            var inputs = comp.FindAll(".mud-picker-color-inputs input");

            inputs.Should().AllBeAssignableTo <IHtmlInputElement>();
            inputs.Should().HaveCount(expectedCount);

            var castedInputs = inputs.Cast <IHtmlInputElement>().ToArray();

            return(castedInputs);
        }
        public void Setup()
        {
            _navMenuComponent = TestContext?.RenderComponent <NavMenu>();
            _indexComponent   = TestContext?.RenderComponent <Index>();

            _navMenuElements = _navMenuComponent?.FindAll(".rz-navigation-item");
            _navMenuElements.Should().NotBeNull();
            _navMenuElements?.Count.Should().Be(4);

            _indexButtons = _indexComponent?.FindAll(".rz-button");
            _indexButtons.Should().NotBeNull();
            _indexButtons?.Count.Should().Be(3);
        }
예제 #11
0
        public async Task WhenListAccounts_AddsAllTableEntries()
        {
            var accounts = await _accountService.ListAccounts();

            var sut = _renderedComponent.Instance;

            await sut.SubmitClick().ConfigureAwait(true);

            _renderedComponent.WaitForState(() => sut.SaveState == Components.Helpers.SaveState.Success);

            _renderedComponent.FindAll("tr").Should().HaveCount(accounts.Count + 1);
            foreach (var account in accounts)
            {
                _renderedComponent.Markup.Should().Contain(account.DisplayName);
            }
        }
예제 #12
0
        private void CheckColorRelatedValues(IRenderedComponent <SimpleColorPickerTest> comp, double expectedX, double expectedY, MudColor expectedColor, ColorPickerMode mode, bool checkInstanceValue = true, bool isRtl = false)
        {
            if (checkInstanceValue == true)
            {
                comp.Instance.ColorValue.Should().Be(expectedColor);
            }

            if (mode == ColorPickerMode.RGB || mode == ColorPickerMode.HSL)
            {
                var castedInputs = GetColorInputs(comp);

                if (mode == ColorPickerMode.RGB)
                {
                    castedInputs[0].Value.Should().Be(expectedColor.R.ToString());
                    castedInputs[1].Value.Should().Be(expectedColor.G.ToString());
                    castedInputs[2].Value.Should().Be(expectedColor.B.ToString());
                    castedInputs[3].Value.Should().Be(expectedColor.APercentage.ToString(CultureInfo.InvariantCulture));
                }
                else
                {
                    castedInputs[0].Value.Should().Be(expectedColor.H.ToString(CultureInfo.InvariantCulture));
                    castedInputs[1].Value.Should().Be(expectedColor.S.ToString(CultureInfo.InvariantCulture));
                    castedInputs[2].Value.Should().Be(expectedColor.L.ToString(CultureInfo.InvariantCulture));
                    castedInputs[3].Value.Should().Match(x => double.Parse(x, CultureInfo.InvariantCulture) == Math.Round((expectedColor.A / 255.0), 2));
                }
            }
            else if (mode == ColorPickerMode.HEX)
            {
                var castedInputs = GetColorInputs(comp, 1);
                castedInputs[0].Value.Should().Be(expectedColor.Value);
            }

            var selector = comp.Find(".mud-picker-color-selector");

            selector.Should().NotBeNull();

            var selectorStyleAttribute = selector.GetAttribute("style");

            selectorStyleAttribute.Should().Be($"transform: translate({expectedX.ToString(CultureInfo.InvariantCulture)}px, {expectedY.ToString(CultureInfo.InvariantCulture)}px);");

            var hueSlideValue = comp.FindAll(".mud-picker-color-slider.hue input");

            hueSlideValue.Should().ContainSingle();
            hueSlideValue[0].Should().BeAssignableTo <IHtmlInputElement>();

            (hueSlideValue[0] as IHtmlInputElement).Value.Should().Be(((int)expectedColor.H).ToString());

            var alphaSlider = comp.FindAll(_alphaSliderCssSelector);

            alphaSlider.Should().ContainSingle();
            alphaSlider[0].Should().BeAssignableTo <IHtmlInputElement>();

            (alphaSlider[0] as IHtmlInputElement).Value.Should().Be(((int)expectedColor.A).ToString());

            var alphaSliderStyleAttritbute = (alphaSlider[0].Parent as IHtmlElement).GetAttribute("style");

            if (isRtl == false)
            {
                alphaSliderStyleAttritbute.Should().Be($"background-image: linear-gradient(to right, transparent, {expectedColor.ToString(MudColorOutputFormats.RGB)});");
            }
            else
            {
                alphaSliderStyleAttritbute.Should().Be($"background-image: linear-gradient(to left, transparent, {expectedColor.ToString(MudColorOutputFormats.RGB)});");
            }
        }
예제 #13
0
 internal void CountDownCantBeReset()
 {
     _index.Render();
     Assert.Equal(0, _index.FindAll("#reset-timer").Count);
 }