From 7ca5898ae3ac81f2a4f5ee5cf9b84665a878a762 Mon Sep 17 00:00:00 2001 From: Jonas Hendrickx Date: Fri, 15 Nov 2024 12:51:43 +0100 Subject: [PATCH] form validation --- test/Admin.Test/Admin.Test.csproj | 1 + .../Pages/ListOrganizationsPageTests.cs | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 test/Admin.Test/AdminConsole/Components/Pages/ListOrganizationsPageTests.cs diff --git a/test/Admin.Test/Admin.Test.csproj b/test/Admin.Test/Admin.Test.csproj index 01d5be219e..f1b42ae5e0 100644 --- a/test/Admin.Test/Admin.Test.csproj +++ b/test/Admin.Test/Admin.Test.csproj @@ -10,6 +10,7 @@ all + diff --git a/test/Admin.Test/AdminConsole/Components/Pages/ListOrganizationsPageTests.cs b/test/Admin.Test/AdminConsole/Components/Pages/ListOrganizationsPageTests.cs new file mode 100644 index 0000000000..ddf936079d --- /dev/null +++ b/test/Admin.Test/AdminConsole/Components/Pages/ListOrganizationsPageTests.cs @@ -0,0 +1,38 @@ +using Bit.Admin.AdminConsole.Components.Pages.Organizations; +using Bit.Core.Repositories; +using Bit.Core.Settings; +using Bunit; +using Microsoft.Extensions.DependencyInjection; +using NSubstitute; + +namespace Admin.Test.AdminConsole.Components.Pages; + +public class ListOrganizationsPageTests : TestContext +{ + private IOrganizationRepository _organizationRepository; + private IGlobalSettings _globalSettings; + + public ListOrganizationsPageTests() + { + _organizationRepository = Substitute.For(); + _globalSettings = Substitute.For(); + + Services.AddSingleton(_organizationRepository); + Services.AddSingleton(_globalSettings); + } + + [Fact] + public void ListOrganizationsPage_Renders_EmailFieldAsInvalid_WhenInvalidEmailAddressIsEntered() + { + // Arrange + var cut = RenderComponent(); + + // Act + + cut.Find("input[name='SearchForm.Email']").Change("@@"); + cut.Find("form").Submit(); + + // Assert + Assert.Contains("invalid", cut.Find("input[name='SearchForm.Email']").Attributes["class"].Value); + } +}