Sprint 5 (#28)

This commit was merged in pull request #28.
This commit is contained in:
Caterina Simona Pastore
2025-05-28 00:10:38 +02:00
committed by GitHub
parent ac20664446
commit 79549bea05
53 changed files with 5781 additions and 63 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -2,6 +2,8 @@
using BasicDotnetTemplate.MainProject.Services;
using BasicDotnetTemplate.MainProject.Models.Api.Data.Role;
using BasicDotnetTemplate.MainProject.Models.Database.SqlServer;
using Newtonsoft.Json;
using BasicDotnetTemplate.MainProject.Models.Api.Common.Exceptions;
@@ -62,7 +64,7 @@ public class RoleService_Tests
}
[TestMethod]
public async Task CreateRoleData()
public async Task CreateRoleAsync_Success()
{
try
{
@@ -93,6 +95,43 @@ public class RoleService_Tests
}
}
[TestMethod]
public async Task CreateRoleAsync_Exception()
{
try
{
CreateRoleRequestData data = new CreateRoleRequestData()
{
Name = "Exception",
IsNotEditable = false
};
var exceptionRoleService = TestUtils.CreateRoleServiceException();
if (exceptionRoleService != null)
{
try
{
var role = await exceptionRoleService.CreateRoleAsync(data);
Assert.Fail($"Expected exception instead of response: {role?.Guid}");
}
catch (Exception exception)
{
Assert.IsInstanceOfType(exception, typeof(Exception));
Assert.IsInstanceOfType(exception, typeof(CreateException));
}
}
else
{
Assert.Fail($"RoleService is null");
}
}
catch (Exception ex)
{
Assert.Fail($"An exception was thrown: {ex}");
}
}
[TestMethod]
public async Task CheckIfNameIsValid_NameCurrentRole()
{
@@ -261,6 +300,111 @@ public class RoleService_Tests
}
}
[TestMethod]
public async Task UpdateRoleAsync_Success()
{
try
{
CreateRoleRequestData data = new CreateRoleRequestData()
{
Name = "ChangedRoleName",
IsNotEditable = false
};
if (_roleService != null)
{
Assert.IsNotNull(_role);
var role = await _roleService.UpdateRoleAsync(data, _role!);
Assert.IsInstanceOfType(role, typeof(Role));
Assert.IsNotNull(role);
Assert.IsTrue(data.Name == role.Name);
Assert.IsTrue(data.IsNotEditable == role.IsNotEditable);
_role = role;
}
else
{
Assert.Fail($"RoleService is null");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.InnerException);
Assert.Fail($"An exception was thrown: {ex}");
}
}
[TestMethod]
public async Task UpdateRoleAsync_NotEditable()
{
try
{
CreateRoleRequestData createRoleData = new CreateRoleRequestData()
{
Name = "NotEditableRole",
IsNotEditable = true
};
if (_roleService != null)
{
var role = await _roleService.CreateRoleAsync(createRoleData);
Assert.IsNotNull(role);
CreateRoleRequestData updateRoleData = new CreateRoleRequestData()
{
Name = "TryingToEditRole",
IsNotEditable = false
};
var roleUpdatedRole = await _roleService.UpdateRoleAsync(updateRoleData, role!);
Assert.IsInstanceOfType(roleUpdatedRole, typeof(Role));
Assert.IsNotNull(roleUpdatedRole);
Assert.IsTrue(roleUpdatedRole.Name == createRoleData.Name);
Assert.IsTrue(roleUpdatedRole.IsNotEditable == createRoleData.IsNotEditable);
}
else
{
Assert.Fail($"RoleService is null");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.InnerException);
Assert.Fail($"An exception was thrown: {ex}");
}
}
[TestMethod]
public async Task UpdateRoleAsync_Exception()
{
try
{
CreateRoleRequestData data = new CreateRoleRequestData()
{
Name = "Exception",
IsNotEditable = false
};
var exceptionRoleService = TestUtils.CreateRoleServiceException();
if (exceptionRoleService != null)
{
Assert.IsNotNull(_role);
var role = await exceptionRoleService.UpdateRoleAsync(data, _role!);
Assert.Fail($"Expected exception instead of response: {role?.Guid}");
}
else
{
Assert.Fail($"RoleService is null");
}
}
catch (Exception ex)
{
Assert.IsInstanceOfType(ex, typeof(Exception));
}
}
[TestMethod]
public async Task DeleteRoleAsync()
{

View File

@@ -2,6 +2,7 @@ using BasicDotnetTemplate.MainProject.Services;
using BasicDotnetTemplate.MainProject.Models.Api.Data.User;
using BasicDotnetTemplate.MainProject.Models.Database.SqlServer;
using Newtonsoft.Json;
using BasicDotnetTemplate.MainProject.Models.Api.Common.Exceptions;
@@ -119,6 +120,53 @@ public class UserService_Tests
}
}
[TestMethod]
public async Task CreateUserAsync_Exception()
{
try
{
var expectedUser = ModelsInit.CreateUser();
CreateUserRequestData data = new CreateUserRequestData()
{
FirstName = expectedUser.FirstName ?? String.Empty,
LastName = expectedUser.LastName ?? String.Empty,
Email = expectedUser.Email ?? String.Empty
};
Role role = new()
{
Name = expectedUser.Role?.Name ?? String.Empty,
IsNotEditable = expectedUser.Role?.IsNotEditable ?? false,
Guid = expectedUser.Role?.Guid ?? String.Empty
};
var exceptionUserService = TestUtils.CreateUserServiceException();
if (exceptionUserService != null)
{
try
{
var user = await exceptionUserService.CreateUserAsync(data, role);
Assert.Fail($"Expected exception instead of response: {user?.Guid}");
}
catch (Exception exception)
{
Assert.IsInstanceOfType(exception, typeof(Exception));
Assert.IsInstanceOfType(exception, typeof(CreateException));
}
}
else
{
Assert.Fail($"UserService is null");
}
}
catch (Exception ex)
{
Assert.Fail($"An exception was thrown: {ex}");
}
}
[TestMethod]
public async Task CheckIfEmailIsValid_EmailCurrentUser()
{