From 8643d98acf9f08ce1d8f48c8cf78dfd4cc9f7a35 Mon Sep 17 00:00:00 2001 From: Anthony RICHARD Date: Sat, 6 Apr 2024 14:18:56 -0400 Subject: [PATCH] unit tests translation model --- .../adminBlazor/TestUnit/LoginRequest_UT.cs | 1 + .../TestUnit/RegisterRequest_UT.cs | 1 + .../TestUnit/TranslationModel_UT.cs | 37 +++++++++++++++++ .../adminBlazor/TestUnit/UserFactory_UT.cs | 10 +++++ Project/adminBlazor/TestUnit/UserModel_UT.cs | 40 +++++++++++++------ 5 files changed, 76 insertions(+), 13 deletions(-) create mode 100644 Project/adminBlazor/TestUnit/TranslationModel_UT.cs create mode 100644 Project/adminBlazor/TestUnit/UserFactory_UT.cs diff --git a/Project/adminBlazor/TestUnit/LoginRequest_UT.cs b/Project/adminBlazor/TestUnit/LoginRequest_UT.cs index b3b9baf..0cf60c2 100644 --- a/Project/adminBlazor/TestUnit/LoginRequest_UT.cs +++ b/Project/adminBlazor/TestUnit/LoginRequest_UT.cs @@ -8,6 +8,7 @@ namespace TestUnit [Theory] //correct [InlineData(true, "password", "username")] + //password incorrect (required) [InlineData(false, null, "username")] //password incorrect (required) diff --git a/Project/adminBlazor/TestUnit/RegisterRequest_UT.cs b/Project/adminBlazor/TestUnit/RegisterRequest_UT.cs index 3393d7e..609fc17 100644 --- a/Project/adminBlazor/TestUnit/RegisterRequest_UT.cs +++ b/Project/adminBlazor/TestUnit/RegisterRequest_UT.cs @@ -8,6 +8,7 @@ namespace TestUnit [Theory] //correct [InlineData(true, "password", "password", "username")] + //password incorrect (required) [InlineData(false, null, "password", "username")] //password incorrect (required) diff --git a/Project/adminBlazor/TestUnit/TranslationModel_UT.cs b/Project/adminBlazor/TestUnit/TranslationModel_UT.cs new file mode 100644 index 0000000..3be7ec7 --- /dev/null +++ b/Project/adminBlazor/TestUnit/TranslationModel_UT.cs @@ -0,0 +1,37 @@ +using adminBlazor.Models; +using System.ComponentModel.DataAnnotations; + +namespace TestUnit +{ + public class TranslationModel_UT + { + [Theory] + //correct + [InlineData(true, 0, "firstWord", "secondWord")] + //first word incorrect (required) + [InlineData(false, 1, "", "secondWord")] + //first word incorrect (required) + [InlineData(false, 2, null, "secondWord")] + //second word incorrect (required) + [InlineData(false, 3, "firstWord", "")] + //second word incorrect (required) + [InlineData(false, 4, "firstWord", null)] + + public void TranslationModel_Validation(bool isValid, int id, string firstWord, string secondWord) + { + var translationModel = new TranslationModel { Id = id, FirstWord = firstWord, SecondWord = secondWord }; + + Assert.Equal(isValid, ValidateModel(translationModel)); + } + + private static bool ValidateModel(TranslationModel translationModel) + { + var validationContext = new ValidationContext(translationModel, serviceProvider: null, items: null); + var validationResults = new List(); + + Validator.TryValidateObject(translationModel, validationContext, validationResults, validateAllProperties: true); + + return !validationResults.Any(); + } + } +} diff --git a/Project/adminBlazor/TestUnit/UserFactory_UT.cs b/Project/adminBlazor/TestUnit/UserFactory_UT.cs new file mode 100644 index 0000000..dd0ea2f --- /dev/null +++ b/Project/adminBlazor/TestUnit/UserFactory_UT.cs @@ -0,0 +1,10 @@ +using adminBlazor.Factories; +using adminBlazor.Models; + +namespace TestUnit +{ + public class UserFactory_UT + { + + } +} \ No newline at end of file diff --git a/Project/adminBlazor/TestUnit/UserModel_UT.cs b/Project/adminBlazor/TestUnit/UserModel_UT.cs index c4db155..77a66dc 100644 --- a/Project/adminBlazor/TestUnit/UserModel_UT.cs +++ b/Project/adminBlazor/TestUnit/UserModel_UT.cs @@ -8,27 +8,41 @@ namespace TestUnit public class UserModel_UT { [Theory] - // user correct - [InlineData(true, 0, "Password", "test@example.com", "Name", "Surname", "Nickname")] + //correct (minimal) + [InlineData(true, 0, "password", null, "name", null, null, null)] + //Email correct + [InlineData(true, 0, "password", "test@example.com", "name", null, null, null)] + //Surname correct + [InlineData(true, 0, "password", null, "name", "surname", null, null)] + //Nickname correct + [InlineData(true, 0, "password", null, "name", null, "nickname", null)] + //Group correct + [InlineData(true, 0, "password", null, "name", null, null, 5)] + + //Password incorrect (required) + [InlineData(false, 0, "", null, "name", null, null, null)] + //Password incorrect (required) + [InlineData(false, 0, null, null, "name", null, null, null)] //Password incorrect (too long) - [InlineData(false, 1, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "test@example.com", "Name", "Surname", "Nickname")] + [InlineData(false, 0, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", null, "name", null, null, null)] //Email incorrect (format) - [InlineData(false, 2, "Password", "test", "Name", "Surname", "Nickname")] + [InlineData(false, 0, "password", "test", "name", null, null, null)] //Name incorrect (required) - [InlineData(false, 3, "Password", "test", null, "Surname", "Nickname")] + [InlineData(false, 0, "password", null, "", null, null, null)] //Name incorrect (required) - [InlineData(false, 4, "Password", "test", "", "Surname", "Nickname")] + [InlineData(false, 0, "password", null, null, null, null, null)] //Name incorrect (too long) - [InlineData(false, 5, "Password", "test", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Surname", "Nickname")] + [InlineData(false, 0, "password", null, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", null, null, null)] //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")] - + [InlineData(false, 0, "password", null, "name", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", null, null)] + //Nickname incorrect (too long) + [InlineData(false, 0, "password", null, "name", null, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", null)] + //Group incorrect (range) + [InlineData(false, 0, "password", null, "name", null, null, 5000)] - public void UserModel_Validation(bool isValid, int id, string password, string email, string name, string surname, string nickname) + public void UserModel_Validation(bool isValid, int id, string password, string email, string name, string surname, string nickname, int group) { - var userModel = new UserModel { Id = id, Password = password, Email = email, Name = name , Surname = surname, Nickname = nickname}; + var userModel = new UserModel { Id = id, Password = password, Email = email, Name = name , Surname = surname, Nickname = nickname, Group = group}; Assert.Equal(isValid, ValidateModel(userModel)); }