From 0645d5d77871e1690816f0890cfcfb835d9177e7 Mon Sep 17 00:00:00 2001 From: Anthony RICHARD Date: Sat, 6 Apr 2024 13:26:03 -0400 Subject: [PATCH] unit tests RegisterRequest --- .../TestUnit/RegisterRequest_UT.cs | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Project/adminBlazor/TestUnit/RegisterRequest_UT.cs diff --git a/Project/adminBlazor/TestUnit/RegisterRequest_UT.cs b/Project/adminBlazor/TestUnit/RegisterRequest_UT.cs new file mode 100644 index 0000000..3393d7e --- /dev/null +++ b/Project/adminBlazor/TestUnit/RegisterRequest_UT.cs @@ -0,0 +1,43 @@ +using adminBlazor.Models; +using System.ComponentModel.DataAnnotations; + +namespace TestUnit +{ + public class RegisterRequest_UT + { + [Theory] + //correct + [InlineData(true, "password", "password", "username")] + //password incorrect (required) + [InlineData(false, null, "password", "username")] + //password incorrect (required) + [InlineData(false, "", "password", "username")] + //password confirm incorrect (required) + [InlineData(false, "password", null, "username")] + //password confirm incorrect (required) + [InlineData(false, "password", "", "username")] + //password confirm incorrect (compare) + [InlineData(false, "password", "passwordDifferent", "username")] + //username incorrect (required) + [InlineData(false, "password", "password", null)] + //username incorrect (required) + [InlineData(false, "password", "password", "")] + + public void RegisterRequest_Validation(bool isValid, string password, string passwordConfirm, string userName) + { + var registerRequest = new RegisterRequest { Password = password, PasswordConfirm = passwordConfirm, UserName = userName }; + + Assert.Equal(isValid, ValidateModel(registerRequest)); + } + + private static bool ValidateModel(RegisterRequest registerRequest) + { + var validationContext = new ValidationContext(registerRequest, serviceProvider: null, items: null); + var validationResults = new List(); + + Validator.TryValidateObject(registerRequest, validationContext, validationResults, validateAllProperties: true); + + return !validationResults.Any(); + } + } +} \ No newline at end of file