From f750f4be8c223360ae0647326c97066fc454d751 Mon Sep 17 00:00:00 2001 From: Anthony RICHARD Date: Sat, 6 Apr 2024 13:19:27 -0400 Subject: [PATCH] unit tests UserModel --- Project/adminBlazor/TestUnit/TestUnit.csproj | 4 ++ Project/adminBlazor/TestUnit/UnitTest1.cs | 11 ----- Project/adminBlazor/TestUnit/UserModel_UT.cs | 46 ++++++++++++++++++++ 3 files changed, 50 insertions(+), 11 deletions(-) delete mode 100644 Project/adminBlazor/TestUnit/UnitTest1.cs create mode 100644 Project/adminBlazor/TestUnit/UserModel_UT.cs diff --git a/Project/adminBlazor/TestUnit/TestUnit.csproj b/Project/adminBlazor/TestUnit/TestUnit.csproj index 877754d..e0a6508 100644 --- a/Project/adminBlazor/TestUnit/TestUnit.csproj +++ b/Project/adminBlazor/TestUnit/TestUnit.csproj @@ -16,6 +16,10 @@ + + + + diff --git a/Project/adminBlazor/TestUnit/UnitTest1.cs b/Project/adminBlazor/TestUnit/UnitTest1.cs deleted file mode 100644 index 6060d4b..0000000 --- a/Project/adminBlazor/TestUnit/UnitTest1.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace TestUnit -{ - public class UnitTest1 - { - [Fact] - public void Test1() - { - - } - } -} \ No newline at end of file diff --git a/Project/adminBlazor/TestUnit/UserModel_UT.cs b/Project/adminBlazor/TestUnit/UserModel_UT.cs new file mode 100644 index 0000000..c4db155 --- /dev/null +++ b/Project/adminBlazor/TestUnit/UserModel_UT.cs @@ -0,0 +1,46 @@ +using System.Collections.Generic; +using Xunit; +using adminBlazor.Models; +using System.ComponentModel.DataAnnotations; + +namespace TestUnit +{ + public class UserModel_UT + { + [Theory] + // user correct + [InlineData(true, 0, "Password", "test@example.com", "Name", "Surname", "Nickname")] + //Password incorrect (too long) + [InlineData(false, 1, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "test@example.com", "Name", "Surname", "Nickname")] + //Email incorrect (format) + [InlineData(false, 2, "Password", "test", "Name", "Surname", "Nickname")] + //Name incorrect (required) + [InlineData(false, 3, "Password", "test", null, "Surname", "Nickname")] + //Name incorrect (required) + [InlineData(false, 4, "Password", "test", "", "Surname", "Nickname")] + //Name incorrect (too long) + [InlineData(false, 5, "Password", "test", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Surname", "Nickname")] + //Surname incorrect (too long) + [InlineData(false, 6, "Password", "test@example.com", "Name", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Nickname")] + //Nickname incorreect (too long) + [InlineData(false, 7, "Password", "test@example.com", "Name", "Surname", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")] + + + public void UserModel_Validation(bool isValid, int id, string password, string email, string name, string surname, string nickname) + { + var userModel = new UserModel { Id = id, Password = password, Email = email, Name = name , Surname = surname, Nickname = nickname}; + + Assert.Equal(isValid, ValidateModel(userModel)); + } + + private static bool ValidateModel(UserModel userModel) + { + var validationContext = new ValidationContext(userModel, serviceProvider: null, items: null); + var validationResults = new List(); + + Validator.TryValidateObject(userModel, validationContext, validationResults, validateAllProperties: true); + + return !validationResults.Any(); + } + } +}