diff --git a/Directory.Packages.props b/Directory.Packages.props
index 08d3254c..35929b14 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -4,7 +4,6 @@
-
diff --git a/src/BB84.Home.API/Extensions/SwaggerGenOptionsExtensions.cs b/src/BB84.Home.API/Extensions/SwaggerGenOptionsExtensions.cs
index aba78fe0..e00b1c18 100644
--- a/src/BB84.Home.API/Extensions/SwaggerGenOptionsExtensions.cs
+++ b/src/BB84.Home.API/Extensions/SwaggerGenOptionsExtensions.cs
@@ -68,13 +68,18 @@ internal static SwaggerGenOptions ConfigureSecurityDefinition(this SwaggerGenOpt
options.AddSecurityDefinition(PresentationConstants.Authentication.Bearer, new OpenApiSecurityScheme()
{
In = ParameterLocation.Header,
- Description = "Please enter token",
+ Description = "JWT Authorization header using the Bearer scheme.",
Name = PresentationConstants.Authentication.SecuritySchemeName,
Type = SecuritySchemeType.Http,
BearerFormat = PresentationConstants.Authentication.BearerFormat,
Scheme = PresentationConstants.Authentication.Bearer
});
+ options.AddSecurityRequirement(document => new OpenApiSecurityRequirement
+ {
+ [new OpenApiSecuritySchemeReference(PresentationConstants.Authentication.Bearer, document)] = []
+ });
+
return options;
}
}
diff --git a/src/BB84.Home.Application/BB84.Home.Application.csproj b/src/BB84.Home.Application/BB84.Home.Application.csproj
index 0bea673e..63bbcfa9 100644
--- a/src/BB84.Home.Application/BB84.Home.Application.csproj
+++ b/src/BB84.Home.Application/BB84.Home.Application.csproj
@@ -6,7 +6,6 @@
-
@@ -38,4 +37,8 @@
+
+
+
+
diff --git a/src/BB84.Home.Application/Contracts/Responses/Todo/ListResponse.cs b/src/BB84.Home.Application/Contracts/Responses/Todo/ListResponse.cs
index 28f04cea..96f9b5d7 100644
--- a/src/BB84.Home.Application/Contracts/Responses/Todo/ListResponse.cs
+++ b/src/BB84.Home.Application/Contracts/Responses/Todo/ListResponse.cs
@@ -24,5 +24,5 @@ public sealed class ListResponse : IdentityResponse
///
/// The items within the todo list.
///
- public ItemResponse[]? Items { get; init; }
+ public IEnumerable? Items { get; init; }
}
diff --git a/src/BB84.Home.Application/Extensions/RequestExtensions.Attendance.cs b/src/BB84.Home.Application/Extensions/RequestExtensions.Attendance.cs
new file mode 100644
index 00000000..deec1206
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/RequestExtensions.Attendance.cs
@@ -0,0 +1,39 @@
+using BB84.Home.Application.Contracts.Requests.Attendance;
+using BB84.Home.Domain.Entities.Attendance;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class RequestExtensions
+{
+ public static AttendanceEntity ToEntity(this AttendanceCreateRequest request)
+ {
+ AttendanceEntity entity = new()
+ {
+ Date = request.Date,
+ Type = request.Type,
+ StartTime = request.StartTime,
+ EndTime = request.EndTime,
+ BreakTime = request.BreakTime
+ };
+
+ return entity;
+ }
+
+ public static AttendanceEntity ToEntity(this AttendanceCreateRequest request, Guid userId)
+ {
+ AttendanceEntity entity = request.ToEntity();
+ entity.UserId = userId;
+
+ return entity;
+ }
+
+ public static AttendanceEntity ToEntity(this AttendanceUpdateRequest request, AttendanceEntity entity)
+ {
+ entity.Type = request.Type;
+ entity.StartTime = request.StartTime;
+ entity.EndTime = request.EndTime;
+ entity.BreakTime = request.BreakTime;
+
+ return entity;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/RequestExtensions.Documents.cs b/src/BB84.Home.Application/Extensions/RequestExtensions.Documents.cs
new file mode 100644
index 00000000..81d7e65d
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/RequestExtensions.Documents.cs
@@ -0,0 +1,45 @@
+using BB84.Home.Application.Contracts.Requests.Documents;
+using BB84.Home.Domain.Entities.Documents;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class RequestExtensions
+{
+ ///
+ /// Converts a to a .
+ ///
+ /// The request to convert.
+ /// The converted .
+ public static DocumentEntity ToEntity(this DocumentCreateRequest request)
+ {
+ DocumentEntity entity = new()
+ {
+ Name = request.Name,
+ Directory = request.Directory,
+ Flags = request.Flags,
+ CreationTime = request.CreationTime,
+ LastWriteTime = request.LastWriteTime,
+ LastAccessTime = request.LastAccessTime
+ };
+
+ return entity;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The request to convert.
+ /// The entity to update.
+ /// The updated .
+ public static DocumentEntity ToEntity(this DocumentUpdateRequest request, DocumentEntity entity)
+ {
+ entity.Name = request.Name;
+ entity.Directory = request.Directory;
+ entity.Flags = request.Flags;
+ entity.CreationTime = request.CreationTime;
+ entity.LastWriteTime = request.LastWriteTime;
+ entity.LastAccessTime = request.LastAccessTime;
+
+ return entity;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/RequestExtensions.Finance.cs b/src/BB84.Home.Application/Extensions/RequestExtensions.Finance.cs
new file mode 100644
index 00000000..d5d8e98d
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/RequestExtensions.Finance.cs
@@ -0,0 +1,136 @@
+using BB84.Home.Application.Contracts.Requests.Finance;
+using BB84.Home.Domain.Entities.Finance;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class RequestExtensions
+{
+ ///
+ /// Converts an to an .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static AccountEntity ToEntity(this AccountCreateRequest request)
+ {
+ AccountEntity entity = new()
+ {
+ IBAN = request.IBAN,
+ Type = request.Type,
+ Provider = request.Provider
+ };
+
+ if (request.Cards is not null)
+ entity.Cards = [.. request.Cards.Select(c => c.ToEntity())];
+
+ return entity;
+ }
+
+ ///
+ /// Converts an to an .
+ ///
+ /// The to convert.
+ /// The entity to update.
+ /// The updated .
+ public static AccountEntity ToEntity(this AccountUpdateRequest request, AccountEntity entity)
+ {
+ entity.Type = request.Type;
+ entity.Provider = request.Provider;
+
+ return entity;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static CardEntity ToEntity(this CardCreateRequest request)
+ {
+ CardEntity entity = new()
+ {
+ PAN = request.PAN,
+ Type = request.Type,
+ ValidUntil = request.ValidUntil
+ };
+
+ return entity;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The user ID to associate with the card.
+ /// The account ID to associate with the card.
+ /// The converted .
+ public static CardEntity ToEntity(this CardCreateRequest request, Guid userId, Guid accountId)
+ {
+ CardEntity entity = request.ToEntity();
+ entity.UserId = userId;
+ entity.AccountId = accountId;
+
+ return entity;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The to update.
+ /// The updated .
+ public static CardEntity ToEntity(this CardUpdateRequest request, CardEntity entity)
+ {
+ entity.Type = request.Type;
+ entity.ValidUntil = request.ValidUntil;
+
+ return entity;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static TransactionEntity ToEntity(this TransactionCreateRequest request)
+ {
+ TransactionEntity entity = new()
+ {
+ BookingDate = request.BookingDate,
+ ValueDate = request.ValueDate,
+ PostingText = request.PostingText,
+ ClientBeneficiary = request.ClientBeneficiary,
+ Purpose = request.Purpose,
+ AccountNumber = request.AccountNumber,
+ BankCode = request.BankCode,
+ AmountEur = request.AmountEur,
+ CreditorId = request.CreditorId,
+ MandateReference = request.MandateReference,
+ CustomerReference = request.CustomerReference
+ };
+
+ return entity;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The to update.
+ /// The updated .
+ public static TransactionEntity ToEntity(this TransactionUpdateRequest request, TransactionEntity entity)
+ {
+ entity.BookingDate = request.BookingDate;
+ entity.ValueDate = request.ValueDate;
+ entity.PostingText = request.PostingText;
+ entity.ClientBeneficiary = request.ClientBeneficiary;
+ entity.Purpose = request.Purpose;
+ entity.AccountNumber = request.AccountNumber;
+ entity.BankCode = request.BankCode;
+ entity.AmountEur = request.AmountEur;
+ entity.CreditorId = request.CreditorId;
+ entity.MandateReference = request.MandateReference;
+ entity.CustomerReference = request.CustomerReference;
+
+ return entity;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/RequestExtensions.Identity.cs b/src/BB84.Home.Application/Extensions/RequestExtensions.Identity.cs
new file mode 100644
index 00000000..9efae358
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/RequestExtensions.Identity.cs
@@ -0,0 +1,54 @@
+using BB84.Home.Application.Contracts.Requests.Identity;
+using BB84.Home.Domain.Entities.Identity;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class RequestExtensions
+{
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static UserEntity ToEntity(this UserCreateRequest request)
+ {
+ UserEntity entity = new()
+ {
+ FirstName = request.FirstName,
+ LastName = request.LastName,
+ Email = request.Email,
+ UserName = request.UserName
+ };
+
+ return entity;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The entity to update with the values from the request.
+ /// The updated .
+ public static UserEntity ToEntity(this UserUpdateRequest request, UserEntity entity)
+ {
+ entity.Email = request.Email;
+ entity.FirstName = request.FirstName;
+ entity.LastName = request.LastName;
+ entity.MiddleName = request.MiddleName;
+ entity.DateOfBirth = request.DateOfBirth;
+ entity.PhoneNumber = request.PhoneNumber;
+ entity.Picture = request.Picture;
+
+ if (request.Preferences is not null)
+ {
+ var attendancePreferences = request.Preferences.AttendancePreferences;
+ if (attendancePreferences is not null)
+ {
+ entity.Preferences = new PreferencesModel(
+ new AttendancePreferencesModel(attendancePreferences.WorkDays, attendancePreferences.WorkHours, attendancePreferences.VacationDays));
+ }
+ }
+
+ return entity;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/RequestExtensions.Todo.cs b/src/BB84.Home.Application/Extensions/RequestExtensions.Todo.cs
new file mode 100644
index 00000000..9917ddea
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/RequestExtensions.Todo.cs
@@ -0,0 +1,102 @@
+using BB84.Extensions;
+using BB84.Home.Application.Contracts.Requests.Todo;
+using BB84.Home.Application.Contracts.Requests.Todo.Base;
+using BB84.Home.Domain.Entities.Todo;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class RequestExtensions
+{
+ ///
+ /// Converts a to a .
+ ///
+ /// The request to convert.
+ /// The converted .
+ public static ListEntity ToEntity(this ListBaseRequest request)
+ {
+ ListEntity entity = new()
+ {
+ Title = request.Title,
+ Color = request.Color?.FromRGBHexString()
+ };
+
+ return entity;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The request to convert.
+ /// The ID of the user to which the list belongs.
+ /// The converted .
+ public static ListEntity ToEntity(this ListBaseRequest request, Guid userId)
+ {
+ ListEntity entity = request.ToEntity();
+ entity.UserId = userId;
+
+ return entity;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The request to convert.
+ /// The entity to update.
+ /// The converted .
+ public static ListEntity ToEntity(this ListUpdateRequest request, ListEntity entity)
+ {
+ entity.Title = request.Title;
+ entity.Color = request.Color?.FromRGBHexString();
+
+ return entity;
+ }
+
+ ///
+ /// Converts an to an .
+ ///
+ /// The request to convert.
+ /// The converted .
+ public static ItemEntity ToEntity(this ItemBaseRequest request)
+ {
+ ItemEntity entity = new()
+ {
+ Title = request.Title,
+ Priority = request.Priority,
+ Reminder = request.Reminder,
+ Note = request.Note
+ };
+
+ return entity;
+ }
+
+ ///
+ /// Converts an to an .
+ ///
+ /// The request to convert.
+ /// The ID of the list to which the item belongs.
+ /// The converted .
+ public static ItemEntity ToEntity(this ItemBaseRequest request, Guid listId)
+ {
+ ItemEntity entity = ToEntity(request);
+ entity.ListId = listId;
+
+ return entity;
+ }
+
+ ///
+ /// Converts an to an .
+ ///
+ /// The request to convert.
+ /// The entity to update.
+ /// The converted .
+ public static ItemEntity ToEntity(this ItemUpdateRequest request, ItemEntity entity)
+ {
+ entity.Title = request.Title;
+ entity.Priority = request.Priority;
+ entity.Reminder = request.Reminder;
+ entity.Note = request.Note;
+ entity.Done = request.Done;
+
+ return entity;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/RequestExtensions.cs b/src/BB84.Home.Application/Extensions/RequestExtensions.cs
new file mode 100644
index 00000000..cc019d27
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/RequestExtensions.cs
@@ -0,0 +1,7 @@
+namespace BB84.Home.Application.Extensions;
+
+///
+/// Request extensions for mapping domain entities to request DTOs.
+///
+internal static partial class RequestExtensions
+{ }
diff --git a/src/BB84.Home.Application/Extensions/ResponseExtensions.Attendance.cs b/src/BB84.Home.Application/Extensions/ResponseExtensions.Attendance.cs
new file mode 100644
index 00000000..32bb936f
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/ResponseExtensions.Attendance.cs
@@ -0,0 +1,29 @@
+using BB84.Home.Application.Contracts.Responses.Attendance;
+using BB84.Home.Domain.Entities.Attendance;
+using BB84.Home.Domain.Extensions;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class ResponseExtensions
+{
+ ///
+ /// Converts an to an .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static AttendanceResponse ToResponse(this AttendanceEntity entity)
+ {
+ AttendanceResponse response = new()
+ {
+ Id = entity.Id,
+ Date = entity.Date,
+ Type = entity.Type,
+ StartTime = entity.StartTime,
+ EndTime = entity.EndTime,
+ BreakTime = entity.BreakTime,
+ WorkingHours = entity.GetResultingWorkingHours()
+ };
+
+ return response;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/ResponseExtensions.Common.cs b/src/BB84.Home.Application/Extensions/ResponseExtensions.Common.cs
new file mode 100644
index 00000000..815772c0
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/ResponseExtensions.Common.cs
@@ -0,0 +1,42 @@
+using System.Globalization;
+
+using BB84.Home.Application.Contracts.Responses.Common;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class ResponseExtensions
+{
+ ///
+ /// Converts a DateTime to a CalendarResponse, which contains various calendar-related information
+ /// about the date, such as the year, month, week of year, day of week, day of year, start and end
+ /// of the week, and start and end of the month.
+ ///
+ /// The DateTime to convert to a CalendarResponse.
+ /// The CalendarResponse containing calendar-related information about the input date.
+ public static CalendarResponse ToResponse(this DateTime date)
+ {
+ // compute week of year using ISO style: Monday as first day
+ Calendar calendar = CultureInfo.InvariantCulture.Calendar;
+ int week = calendar.GetWeekOfYear(date, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
+
+ int diff = (7 + (date.DayOfWeek - DayOfWeek.Monday)) % 7;
+ DateTime startOfWeek = date.Date.AddDays(-diff);
+ DateTime endOfWeek = startOfWeek.AddDays(6);
+
+ CalendarResponse response = new()
+ {
+ Date = date,
+ Year = date.Year,
+ Month = date.Month,
+ Week = week,
+ DayOfWeek = (int)date.DayOfWeek,
+ DayOfYear = date.DayOfYear,
+ StartOfWeek = startOfWeek,
+ EndOfWeek = endOfWeek,
+ StartOfMonth = new DateTime(date.Year, date.Month, 1),
+ EndOfMonth = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month))
+ };
+
+ return response;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/ResponseExtensions.Documents.cs b/src/BB84.Home.Application/Extensions/ResponseExtensions.Documents.cs
new file mode 100644
index 00000000..ce921331
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/ResponseExtensions.Documents.cs
@@ -0,0 +1,33 @@
+using BB84.Home.Application.Contracts.Responses.Documents;
+using BB84.Home.Domain.Entities.Documents;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class ResponseExtensions
+{
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static DocumentResponse ToResponse(this DocumentEntity entity)
+ {
+ DocumentResponse response = new()
+ {
+ Id = entity.Id,
+ Name = entity.Name,
+ Directory = entity.Directory,
+ Flags = entity.Flags,
+ CreationTime = entity.CreationTime,
+ LastWriteTime = entity.LastWriteTime,
+ LastAccessTime = entity.LastAccessTime,
+ MD5Hash = entity.Data?.MD5Hash,
+ Length = entity.Data?.Length,
+ Content = entity.Data?.Content,
+ ExtensionName = entity.Extension?.Name,
+ MimeType = entity.Extension?.MimeType
+ };
+
+ return response;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/ResponseExtensions.Finance.cs b/src/BB84.Home.Application/Extensions/ResponseExtensions.Finance.cs
new file mode 100644
index 00000000..06dfdfb6
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/ResponseExtensions.Finance.cs
@@ -0,0 +1,70 @@
+using BB84.Home.Application.Contracts.Responses.Finance;
+using BB84.Home.Domain.Entities.Finance;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class ResponseExtensions
+{
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static CardResponse ToResponse(this CardEntity entity)
+ {
+ CardResponse response = new()
+ {
+ Id = entity.Id,
+ PAN = entity.PAN,
+ Type = entity.Type,
+ ValidUntil = entity.ValidUntil
+ };
+
+ return response;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static AccountResponse ToResponse(this AccountEntity entity)
+ {
+ AccountResponse response = new()
+ {
+ Id = entity.Id,
+ IBAN = entity.IBAN,
+ Type = entity.Type,
+ Provider = entity.Provider,
+ Cards = entity.Cards?.Select(x => x.ToResponse()).ToArray()
+ };
+
+ return response;
+ }
+
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static TransactionResponse ToResponse(this TransactionEntity entity)
+ {
+ TransactionResponse response = new()
+ {
+ Id = entity.Id,
+ BookingDate = entity.BookingDate,
+ ValueDate = entity.ValueDate,
+ PostingText = entity.PostingText,
+ ClientBeneficiary = entity.ClientBeneficiary,
+ Purpose = entity.Purpose,
+ AccountNumber = entity.AccountNumber,
+ BankCode = entity.BankCode,
+ AmountEur = entity.AmountEur,
+ CreditorId = entity.CreditorId,
+ MandateReference = entity.MandateReference,
+ CustomerReference = entity.CustomerReference
+ };
+
+ return response;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/ResponseExtensions.Identity.cs b/src/BB84.Home.Application/Extensions/ResponseExtensions.Identity.cs
new file mode 100644
index 00000000..0601fb73
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/ResponseExtensions.Identity.cs
@@ -0,0 +1,45 @@
+using BB84.Home.Application.Contracts.Responses.Identity;
+using BB84.Home.Domain.Entities.Identity;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class ResponseExtensions
+{
+ ///
+ /// Converts a to a .
+ ///
+ /// The to convert.
+ /// The converted .
+ public static UserResponse ToResponse(this UserEntity entity)
+ {
+ PreferencesResponse? preferences = null;
+ if (entity.Preferences is not null && entity.Preferences.AttendancePreferences is not null)
+ {
+ preferences = new PreferencesResponse
+ {
+ AttendancePreferences = new AttendancePreferencesResponse
+ {
+ WorkDays = entity.Preferences.AttendancePreferences.WorkDays,
+ WorkHours = entity.Preferences.AttendancePreferences.WorkHours,
+ VacationDays = entity.Preferences.AttendancePreferences.VacationDays
+ }
+ };
+ }
+
+ UserResponse response = new()
+ {
+ Id = entity.Id,
+ FirstName = entity.FirstName,
+ MiddleName = entity.MiddleName,
+ LastName = entity.LastName,
+ DateOfBirth = entity.DateOfBirth,
+ UserName = entity.UserName!,
+ Email = entity.Email!,
+ PhoneNumber = entity.PhoneNumber,
+ Picture = entity.Picture,
+ Preferences = preferences
+ };
+
+ return response;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/ResponseExtensions.Todo.cs b/src/BB84.Home.Application/Extensions/ResponseExtensions.Todo.cs
new file mode 100644
index 00000000..01dadaa8
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/ResponseExtensions.Todo.cs
@@ -0,0 +1,51 @@
+using BB84.Extensions;
+using BB84.Home.Application.Contracts.Responses.Todo;
+using BB84.Home.Domain.Entities.Todo;
+
+namespace BB84.Home.Application.Extensions;
+
+internal static partial class ResponseExtensions
+{
+ ///
+ /// Converts a instance to its corresponding
+ /// representation.
+ ///
+ /// The to convert.
+ ///
+ /// A object containing the data from the specified .
+ ///
+ public static ListResponse ToResponse(this ListEntity entity)
+ {
+ ListResponse response = new()
+ {
+ Id = entity.Id,
+ Title = entity.Title,
+ Color = entity.Color?.ToRGBHexString(),
+ Items = [.. entity.Items.Select(ToResponse)]
+ };
+
+ return response;
+ }
+
+ ///
+ /// Converts a instance to its corresponding
+ /// representation.
+ ///
+ /// The to convert.
+ ///
+ /// A object containing the data from the specified .
+ ///
+ public static ItemResponse ToResponse(this ItemEntity entity)
+ {
+ ItemResponse response = new()
+ {
+ Id = entity.Id,
+ Title = entity.Title,
+ Priority = entity.Priority,
+ Reminder = entity.Reminder,
+ Done = entity.Done,
+ Note = entity.Note
+ };
+ return response;
+ }
+}
diff --git a/src/BB84.Home.Application/Extensions/ResponseExtensions.cs b/src/BB84.Home.Application/Extensions/ResponseExtensions.cs
new file mode 100644
index 00000000..ae7db0ae
--- /dev/null
+++ b/src/BB84.Home.Application/Extensions/ResponseExtensions.cs
@@ -0,0 +1,7 @@
+namespace BB84.Home.Application.Extensions;
+
+///
+/// Response extensions for mapping domain entities to response DTOs.
+///
+internal static partial class ResponseExtensions
+{ }
diff --git a/src/BB84.Home.Application/Extensions/ServiceCollectionExtensions.cs b/src/BB84.Home.Application/Extensions/ServiceCollectionExtensions.cs
index a19e0a44..c22ae2b5 100644
--- a/src/BB84.Home.Application/Extensions/ServiceCollectionExtensions.cs
+++ b/src/BB84.Home.Application/Extensions/ServiceCollectionExtensions.cs
@@ -73,18 +73,6 @@ internal static IServiceCollection RegisterTransientServices(this IServiceCollec
return services;
}
- ///
- /// Registers the required auto mapper to the collection.
- ///
- /// The service collection to enrich.
- /// The enriched service collection.
- internal static IServiceCollection RegisterAutoMapper(this IServiceCollection services)
- {
- services.AddAutoMapper(config => config.AllowNullCollections = true, typeof(IApplicationAssemblyMarker));
-
- return services;
- }
-
///
/// Registers the required fluent validation validators to the collection.
///
diff --git a/src/BB84.Home.Application/Installer/DependencyInjectionHelper.cs b/src/BB84.Home.Application/Installer/DependencyInjectionHelper.cs
index 556ecc91..5f9e7549 100644
--- a/src/BB84.Home.Application/Installer/DependencyInjectionHelper.cs
+++ b/src/BB84.Home.Application/Installer/DependencyInjectionHelper.cs
@@ -18,7 +18,6 @@ public static class DependencyInjectionHelper
public static IServiceCollection RegisterApplicationServices(this IServiceCollection services)
{
services.RegisterApplicationOptions()
- .RegisterAutoMapper()
.RegisterFluentValidation()
.RegisterScopedServices()
.RegisterSingletonServices()
diff --git a/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/IAccountRepository.cs b/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/Finance/IAccountRepository.cs
similarity index 92%
rename from src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/IAccountRepository.cs
rename to src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/Finance/IAccountRepository.cs
index d88d95ff..fe7c353c 100644
--- a/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/IAccountRepository.cs
+++ b/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/Finance/IAccountRepository.cs
@@ -1,7 +1,7 @@
using BB84.EntityFrameworkCore.Repositories.Abstractions;
using BB84.Home.Domain.Entities.Finance;
-namespace BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+namespace BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
///
/// The account repository interface.
diff --git a/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/ICardRepository.cs b/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/Finance/ICardRepository.cs
similarity index 91%
rename from src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/ICardRepository.cs
rename to src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/Finance/ICardRepository.cs
index 6f90cb0c..13f0a3b4 100644
--- a/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/ICardRepository.cs
+++ b/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/Finance/ICardRepository.cs
@@ -1,7 +1,7 @@
using BB84.EntityFrameworkCore.Repositories.Abstractions;
using BB84.Home.Domain.Entities.Finance;
-namespace BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+namespace BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
///
/// The card repository interface.
diff --git a/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/ITransactionRepository.cs b/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/Finance/ITransactionRepository.cs
similarity index 92%
rename from src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/ITransactionRepository.cs
rename to src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/Finance/ITransactionRepository.cs
index 106dfb83..84778028 100644
--- a/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/ITransactionRepository.cs
+++ b/src/BB84.Home.Application/Interfaces/Infrastructure/Persistence/Repositories/Finance/ITransactionRepository.cs
@@ -1,7 +1,7 @@
using BB84.EntityFrameworkCore.Repositories.Abstractions;
using BB84.Home.Domain.Entities.Finance;
-namespace BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+namespace BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
///
/// The transaction repository interface.
diff --git a/src/BB84.Home.Application/Interfaces/Infrastructure/Services/IRepositoryService.cs b/src/BB84.Home.Application/Interfaces/Infrastructure/Services/IRepositoryService.cs
index 15907dd5..d15cc1b4 100644
--- a/src/BB84.Home.Application/Interfaces/Infrastructure/Services/IRepositoryService.cs
+++ b/src/BB84.Home.Application/Interfaces/Infrastructure/Services/IRepositoryService.cs
@@ -1,5 +1,6 @@
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Documents;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Todo;
namespace BB84.Home.Application.Interfaces.Infrastructure.Services;
diff --git a/src/BB84.Home.Application/Profiles/Requests/AttendanceRequestProfile.cs b/src/BB84.Home.Application/Profiles/Requests/AttendanceRequestProfile.cs
deleted file mode 100644
index 6fa57af3..00000000
--- a/src/BB84.Home.Application/Profiles/Requests/AttendanceRequestProfile.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Requests.Attendance;
-using BB84.Home.Domain.Entities.Attendance;
-
-namespace BB84.Home.Application.Profiles.Requests;
-
-///
-/// The attendance request profile class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class AttendanceRequestProfile : Profile
-{
- public AttendanceRequestProfile()
- {
- CreateMap();
- CreateMap();
- }
-}
diff --git a/src/BB84.Home.Application/Profiles/Requests/DocumentsRequestProfile.cs b/src/BB84.Home.Application/Profiles/Requests/DocumentsRequestProfile.cs
deleted file mode 100644
index 8040b782..00000000
--- a/src/BB84.Home.Application/Profiles/Requests/DocumentsRequestProfile.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Requests.Documents;
-using BB84.Home.Domain.Entities.Documents;
-
-namespace BB84.Home.Application.Profiles.Requests;
-
-///
-/// The documents request profile class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class DocumentsRequestProfile : Profile
-{
- public DocumentsRequestProfile()
- {
- CreateMap();
- CreateMap();
- }
-}
diff --git a/src/BB84.Home.Application/Profiles/Requests/FinanceRequestProfile.cs b/src/BB84.Home.Application/Profiles/Requests/FinanceRequestProfile.cs
deleted file mode 100644
index 172b69c6..00000000
--- a/src/BB84.Home.Application/Profiles/Requests/FinanceRequestProfile.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Requests.Finance;
-using BB84.Home.Domain.Entities.Finance;
-
-namespace BB84.Home.Application.Profiles.Requests;
-
-///
-/// The finance request profile class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class FinanceRequestProfile : Profile
-{
- public FinanceRequestProfile()
- {
- CreateMap();
- CreateMap();
-
- CreateMap();
- CreateMap();
-
- CreateMap();
- CreateMap();
- }
-}
diff --git a/src/BB84.Home.Application/Profiles/Requests/IdentityRequestProfile.cs b/src/BB84.Home.Application/Profiles/Requests/IdentityRequestProfile.cs
deleted file mode 100644
index d45178a9..00000000
--- a/src/BB84.Home.Application/Profiles/Requests/IdentityRequestProfile.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Requests.Identity;
-using BB84.Home.Domain.Entities.Identity;
-
-namespace BB84.Home.Application.Profiles.Requests;
-
-///
-/// The identity request profile class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class IdentityRequestProfile : Profile
-{
- public IdentityRequestProfile()
- {
- CreateMap();
- CreateMap();
-
- CreateMap();
- CreateMap();
- }
-}
diff --git a/src/BB84.Home.Application/Profiles/Requests/TodoRequestProfile.cs b/src/BB84.Home.Application/Profiles/Requests/TodoRequestProfile.cs
deleted file mode 100644
index da3e271d..00000000
--- a/src/BB84.Home.Application/Profiles/Requests/TodoRequestProfile.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Drawing;
-
-using AutoMapper;
-
-using BB84.Extensions;
-using BB84.Home.Application.Contracts.Requests.Todo;
-using BB84.Home.Domain.Entities.Todo;
-
-namespace BB84.Home.Application.Profiles.Requests;
-
-///
-/// The todo request profile class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class TodoRequestProfile : Profile
-{
- public TodoRequestProfile()
- {
- CreateMap()
- .ForMember(t => t.Color, o => o.MapFrom(s => MapColor(s.Color)));
- CreateMap()
- .ForMember(t => t.Color, o => o.MapFrom(s => MapColor(s.Color)));
- CreateMap();
- CreateMap();
- }
-
- private static Color? MapColor(string? color)
- => color?.FromRGBHexString();
-}
diff --git a/src/BB84.Home.Application/Profiles/Responses/AttendanceResponseProfile.cs b/src/BB84.Home.Application/Profiles/Responses/AttendanceResponseProfile.cs
deleted file mode 100644
index 6da39e87..00000000
--- a/src/BB84.Home.Application/Profiles/Responses/AttendanceResponseProfile.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Responses.Attendance;
-using BB84.Home.Domain.Entities.Attendance;
-using BB84.Home.Domain.Extensions;
-
-namespace BB84.Home.Application.Profiles.Responses;
-
-///
-/// The attendance response profile class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class AttendanceResponseProfile : Profile
-{
- public AttendanceResponseProfile()
- {
- CreateMap()
- .ForMember(dest => dest.WorkingHours, opt => opt.MapFrom(src => src.GetResultingWorkingHours()));
- }
-}
\ No newline at end of file
diff --git a/src/BB84.Home.Application/Profiles/Responses/CommonResponseProfile.cs b/src/BB84.Home.Application/Profiles/Responses/CommonResponseProfile.cs
deleted file mode 100644
index 39250458..00000000
--- a/src/BB84.Home.Application/Profiles/Responses/CommonResponseProfile.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-using AutoMapper;
-
-using BB84.Extensions;
-using BB84.Home.Application.Contracts.Responses.Common;
-using BB84.Home.Domain.Enumerators;
-using BB84.Home.Domain.Enumerators.Attendance;
-using BB84.Home.Domain.Enumerators.Documents;
-using BB84.Home.Domain.Enumerators.Finance;
-using BB84.Home.Domain.Enumerators.Todo;
-
-namespace BB84.Home.Application.Profiles.Responses;
-
-///
-/// The common response profile class
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class CommonResponseProfile : Profile
-{
- public CommonResponseProfile()
- {
- CreateMap()
- .ForMember(t => t.Year, o => o.MapFrom(s => s.Date.Year))
- .ForMember(t => t.Month, o => o.MapFrom(s => s.Date.Month))
- .ForMember(t => t.Week, o => o.MapFrom(s => s.Date.WeekOfYear()))
- .ForMember(t => t.DayOfWeek, o => o.MapFrom(s => s.Date.DayOfWeek))
- .ForMember(t => t.DayOfYear, o => o.MapFrom(s => s.Date.DayOfYear))
- .ForMember(t => t.StartOfWeek, o => o.MapFrom(s => s.Date.StartOfWeek(DayOfWeek.Monday)))
- .ForMember(t => t.EndOfWeek, o => o.MapFrom(s => s.Date.EndOfWeek(DayOfWeek.Monday)))
- .ForMember(t => t.StartOfMonth, o => o.MapFrom(s => s.Date.StartOfMonth()))
- .ForMember(t => t.EndOfMonth, o => o.MapFrom(s => s.Date.EndOfMonth()));
-
- CreateMap()
- .ConstructUsing(x => new(x));
-
- CreateMap()
- .ConstructUsing(x => new(x));
-
- CreateMap()
- .ConstructUsing(x => new(x));
-
- CreateMap()
- .ConstructUsing(x => new(x));
-
- CreateMap()
- .ConstructUsing(x => new(x));
-
- CreateMap()
- .ConstructUsing(x => new(x));
-
- CreateMap()
- .ConstructUsing(x => new(x));
- }
-}
\ No newline at end of file
diff --git a/src/BB84.Home.Application/Profiles/Responses/DocumentsResponseProfile.cs b/src/BB84.Home.Application/Profiles/Responses/DocumentsResponseProfile.cs
deleted file mode 100644
index d73da9d1..00000000
--- a/src/BB84.Home.Application/Profiles/Responses/DocumentsResponseProfile.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Responses.Documents;
-using BB84.Home.Domain.Entities.Documents;
-
-namespace BB84.Home.Application.Profiles.Responses;
-
-///
-/// The attendance response profile class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class DocumentsResponseProfile : Profile
-{
- public DocumentsResponseProfile()
- {
- CreateMap()
- .ForMember(dest => dest.MD5Hash, opt => opt.MapFrom(src => HasData(src) ? src.Data.MD5Hash : default))
- .ForMember(dest => dest.Length, opt => opt.MapFrom(src => HasData(src) ? src.Data.Length : default))
- .ForMember(dest => dest.Content, opt => opt.MapFrom(src => HasData(src) ? src.Data.Content : default))
- .ForMember(dest => dest.ExtensionName, opt => opt.MapFrom(src => HasExtension(src) ? src.Extension.Name : default))
- .ForMember(dest => dest.MimeType, opt => opt.MapFrom(src => HasExtension(src) ? src.Extension.MimeType : default));
- }
-
- private static bool HasData(DocumentEntity document)
- => document.Data is not null;
-
- private static bool HasExtension(DocumentEntity document)
- => document.Extension is not null;
-}
diff --git a/src/BB84.Home.Application/Profiles/Responses/FinanceResponseProfile.cs b/src/BB84.Home.Application/Profiles/Responses/FinanceResponseProfile.cs
deleted file mode 100644
index 82892a0a..00000000
--- a/src/BB84.Home.Application/Profiles/Responses/FinanceResponseProfile.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Responses.Finance;
-using BB84.Home.Domain.Entities.Finance;
-
-namespace BB84.Home.Application.Profiles.Responses;
-
-///
-/// The finance response class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class FinanceResponseProfile : Profile
-{
- public FinanceResponseProfile()
- {
- CreateMap();
- CreateMap();
- CreateMap();
- }
-}
diff --git a/src/BB84.Home.Application/Profiles/Responses/IdentityResponseProfile.cs b/src/BB84.Home.Application/Profiles/Responses/IdentityResponseProfile.cs
deleted file mode 100644
index 47808ace..00000000
--- a/src/BB84.Home.Application/Profiles/Responses/IdentityResponseProfile.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Responses.Identity;
-using BB84.Home.Domain.Entities.Identity;
-
-namespace BB84.Home.Application.Profiles.Responses;
-
-///
-/// The identity response profile class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class IdentityResponseProfile : Profile
-{
- public IdentityResponseProfile()
- {
- CreateMap();
-
- CreateMap();
- CreateMap();
- }
-}
diff --git a/src/BB84.Home.Application/Profiles/Responses/TodoResponseProfile.cs b/src/BB84.Home.Application/Profiles/Responses/TodoResponseProfile.cs
deleted file mode 100644
index 23b0a13a..00000000
--- a/src/BB84.Home.Application/Profiles/Responses/TodoResponseProfile.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Drawing;
-
-using AutoMapper;
-
-using BB84.Extensions;
-using BB84.Home.Application.Contracts.Responses.Todo;
-using BB84.Home.Domain.Entities.Todo;
-
-namespace BB84.Home.Application.Profiles.Responses;
-
-///
-/// The todo response profile class.
-///
-[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, auto mapper profile.")]
-internal sealed class TodoResponseProfile : Profile
-{
- public TodoResponseProfile()
- {
- CreateMap();
- CreateMap()
- .ForMember(t => t.Color, o => o.MapFrom(s => MapColor(s.Color)));
- }
-
- private static string? MapColor(Color? color)
- => color?.ToRGBHexString();
-}
diff --git a/src/BB84.Home.Application/Services/Attendance/AttendanceService.cs b/src/BB84.Home.Application/Services/Attendance/AttendanceService.cs
index 6755520f..0d946975 100644
--- a/src/BB84.Home.Application/Services/Attendance/AttendanceService.cs
+++ b/src/BB84.Home.Application/Services/Attendance/AttendanceService.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Extensions;
+using BB84.Extensions;
using BB84.Home.Application.Contracts.Requests.Attendance;
using BB84.Home.Application.Contracts.Responses.Attendance;
using BB84.Home.Application.Errors.Services;
@@ -24,8 +22,7 @@ namespace BB84.Home.Application.Services.Attendance;
/// The logger service for logging errors and information.
/// The service providing information about the current user.
/// The repository service for accessing data repositories.
-/// The mapper for converting between domain entities and data transfer objects.
-internal sealed class AttendanceService(ILoggerService loggerService, ICurrentUserService userService, IRepositoryService repositoryService, IMapper mapper) : IAttendanceService
+internal sealed class AttendanceService(ILoggerService loggerService, ICurrentUserService userService, IRepositoryService repositoryService) : IAttendanceService
{
private static readonly Action LogExceptionWithParams =
LoggerMessage.Define
/// The date time service instance to use.
/// The logger service instance to use.
-/// The auto mapper instance to use.
-internal sealed class CalendarService(IDateTimeProvider dateTimeService, ILoggerService loggerService, IMapper mapper) : ICalendarService
+internal sealed class CalendarService(IDateTimeProvider dateTimeService, ILoggerService loggerService) : ICalendarService
{
private readonly IQueryable _dateTimes = GetPossibleDates();
@@ -36,9 +33,9 @@ public ErrorOr GetByDate(DateTime date)
{
try
{
- DateTime? calendarDay = _dateTimes.Single(x => x.Date.Equals(date.Date));
+ DateTime calendarDay = _dateTimes.Single(x => x.Date.Equals(date.Date));
- CalendarResponse respone = mapper.Map(calendarDay);
+ CalendarResponse respone = calendarDay.ToResponse();
return respone;
}
@@ -61,7 +58,7 @@ public ErrorOr> GetPagedByParameters(CalendarParame
int totalCount = _dateTimes.FilterByParameters(parameters)
.Count();
- IEnumerable result = mapper.Map>(calendarDays);
+ IEnumerable result = calendarDays.Select(x => x.ToResponse());
return new PagedList(result, totalCount, parameters.PageNumber, parameters.PageSize);
}
@@ -76,9 +73,9 @@ public ErrorOr GetCurrent()
{
try
{
- DateTime? calendarDay = _dateTimes.Single(x => x.Date.Equals(dateTimeService.Today));
+ DateTime calendarDay = _dateTimes.Single(x => x.Date.Equals(dateTimeService.Today));
- CalendarResponse respone = mapper.Map(calendarDay);
+ CalendarResponse respone = calendarDay.ToResponse();
return respone;
}
diff --git a/src/BB84.Home.Application/Services/Common/EnumeratorService.cs b/src/BB84.Home.Application/Services/Common/EnumeratorService.cs
index 3eacf374..258cc76c 100644
--- a/src/BB84.Home.Application/Services/Common/EnumeratorService.cs
+++ b/src/BB84.Home.Application/Services/Common/EnumeratorService.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Extensions;
+using BB84.Extensions;
using BB84.Home.Application.Contracts.Responses.Common;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Application.Services.Common;
@@ -20,8 +18,7 @@ namespace BB84.Home.Application.Services.Common;
/// The enumerator service class.
///
/// The logger service instance to use.
-/// The auto mapper instance to use.
-internal sealed class EnumeratorService(ILoggerService loggerService, IMapper mapper) : IEnumeratorService
+internal sealed class EnumeratorService(ILoggerService loggerService) : IEnumeratorService
{
private static readonly Action LogException =
LoggerMessage.Define(LogLevel.Error, 0, "Exception occured.");
@@ -32,7 +29,7 @@ public ErrorOr> GetAccountTypes()
{
IEnumerable accountTypes = AccountType.Checking.GetValues();
- return mapper.Map>(accountTypes).ToList();
+ return accountTypes.Select(x => new AccountTypeResponse(x)).ToList();
}
catch (Exception ex)
{
@@ -47,7 +44,7 @@ public ErrorOr> GetAttendanceTypes()
{
IEnumerable attendanceTypes = AttendanceType.Holiday.GetValues();
- return mapper.Map>(attendanceTypes).ToList();
+ return attendanceTypes.Select(x => new AttendanceTypeResponse(x)).ToList();
}
catch (Exception ex)
{
@@ -62,7 +59,7 @@ public ErrorOr> GetCardTypes()
{
IEnumerable cardTypes = CardType.Credit.GetValues();
- return mapper.Map>(cardTypes).ToList();
+ return cardTypes.Select(x => new CardTypeResponse(x)).ToList();
}
catch (Exception ex)
{
@@ -77,7 +74,7 @@ public ErrorOr> GetDocumentTypes()
{
IEnumerable documentTypes = DocumentTypes.None.GetValues();
- return mapper.Map>(documentTypes).ToList();
+ return documentTypes.Select(x => new DocumentTypeResponse(x)).ToList();
}
catch (Exception ex)
{
@@ -92,7 +89,7 @@ public ErrorOr> GetPriorityLevelTypes()
{
IEnumerable priorityLevelTypes = PriorityLevelType.None.GetValues();
- return mapper.Map>(priorityLevelTypes).ToList();
+ return priorityLevelTypes.Select(x => new PriorityLevelTypeResponse(x)).ToList();
}
catch (Exception ex)
{
@@ -107,7 +104,7 @@ public ErrorOr> GetRoleTypes()
{
IEnumerable roleTypes = RoleType.Administrator.GetValues();
- return mapper.Map>(roleTypes).ToList();
+ return roleTypes.Select(x => new RoleTypeResponse(x)).ToList();
}
catch (Exception ex)
{
@@ -122,7 +119,7 @@ public ErrorOr> GetWorkDayTypes()
{
IEnumerable workDayTypes = WorkDayTypes.Sunday.GetValues();
- return mapper.Map>(workDayTypes).ToList();
+ return workDayTypes.Select(x => new WorkDayTypeResponse(x)).ToList();
}
catch (Exception ex)
{
diff --git a/src/BB84.Home.Application/Services/Documents/DocumentService.cs b/src/BB84.Home.Application/Services/Documents/DocumentService.cs
index d7fb4fe6..ac07141e 100644
--- a/src/BB84.Home.Application/Services/Documents/DocumentService.cs
+++ b/src/BB84.Home.Application/Services/Documents/DocumentService.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Extensions;
+using BB84.Extensions;
using BB84.Extensions.Serialization;
using BB84.Home.Application.Common;
using BB84.Home.Application.Contracts.Requests.Documents;
@@ -27,8 +25,7 @@ namespace BB84.Home.Application.Services.Documents;
/// The logger service for logging errors and information.
/// The service providing information about the current user.
/// The repository service for accessing data repositories.
-/// The mapper for converting between domain entities and data transfer objects.
-internal sealed class DocumentService(ILoggerService loggerService, ICurrentUserService userService, IRepositoryService repositoryService, IMapper mapper) : IDocumentService
+internal sealed class DocumentService(ILoggerService loggerService, ICurrentUserService userService, IRepositoryService repositoryService) : IDocumentService
{
private static readonly Action LogExceptionWithParams =
LoggerMessage.Define
/// The logger service to use.
/// The repository service to use.
-/// The auto mapper to use.
-internal sealed class TransactionService(ILoggerService loggerService, IRepositoryService repositoryService, IMapper mapper) : ITransactionService
+internal sealed class TransactionService(ILoggerService loggerService, IRepositoryService repositoryService) : ITransactionService
{
private static readonly Action LogExceptionWithParams =
LoggerMessage.Define(LogLevel.Error, 0, "Exception occured. Params = {Parameters}");
@@ -38,14 +35,16 @@ public async Task> CreateByAccountId(Guid accountId, Transactio
if (accountEntity is null)
return TransactionServiceErrors.CreateByAccountIdNotFound(accountId);
- TransactionEntity transaction = mapper.Map(request);
+ TransactionEntity transaction = request.ToEntity();
transaction.AccountTransactions = [new() { Account = accountEntity, Transaction = transaction }];
- await repositoryService.TransactionRepository.CreateAsync(transaction, token)
+ await repositoryService.TransactionRepository
+ .CreateAsync(transaction, token)
.ConfigureAwait(false);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Created;
@@ -68,14 +67,16 @@ public async Task> CreateByCardId(Guid cardId, TransactionCreat
if (cardEntity is null)
return TransactionServiceErrors.CreateByCardIdNotFound(cardId);
- TransactionEntity transaction = mapper.Map(request);
+ TransactionEntity transaction = request.ToEntity();
transaction.CardTransactions = [new() { Card = cardEntity, Transaction = transaction }];
- await repositoryService.TransactionRepository.CreateAsync(transaction, token)
+ await repositoryService.TransactionRepository
+ .CreateAsync(transaction, token)
.ConfigureAwait(false);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Created;
@@ -102,7 +103,8 @@ await repositoryService.TransactionRepository
.DeleteAsync(entity, token)
.ConfigureAwait(false);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Deleted;
@@ -130,7 +132,8 @@ await repositoryService.TransactionRepository
.DeleteAsync(entity, token)
.ConfigureAwait(false);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Deleted;
@@ -154,7 +157,7 @@ public async Task> GetByAccountId(Guid accountId, G
if (entity is null)
return TransactionServiceErrors.GetByIdNotFound(id);
- TransactionResponse response = mapper.Map(entity);
+ TransactionResponse response = entity.ToResponse();
return response;
}
@@ -177,7 +180,7 @@ public async Task> GetByCardId(Guid cardId, Guid id
if (entity is null)
return TransactionServiceErrors.GetByIdNotFound(id);
- TransactionResponse response = mapper.Map(entity);
+ TransactionResponse response = entity.ToResponse();
return response;
}
@@ -193,7 +196,7 @@ public async Task>> GetPagedByAccountId(
{
try
{
- IEnumerable entities = await repositoryService.TransactionRepository
+ IReadOnlyList entities = await repositoryService.TransactionRepository
.GetManyByConditionAsync(
expression: x => x.AccountTransactions.Select(x => x.AccountId).Contains(id),
queryFilter: x => x.FilterByParameters(parameters),
@@ -210,7 +213,7 @@ public async Task>> GetPagedByAccountId(
token: token)
.ConfigureAwait(false);
- IEnumerable result = mapper.Map>(entities);
+ IEnumerable result = entities.Select(x => x.ToResponse());
return new PagedList(result, totalCount, parameters.PageNumber, parameters.PageSize);
}
@@ -225,7 +228,7 @@ public async Task>> GetPagedByCardId(Gui
{
try
{
- IEnumerable entities = await repositoryService.TransactionRepository
+ IReadOnlyList entities = await repositoryService.TransactionRepository
.GetManyByConditionAsync(
expression: x => x.CardTransactions.Select(x => x.CardId).Contains(id),
queryFilter: x => x.FilterByParameters(parameters),
@@ -242,7 +245,7 @@ public async Task>> GetPagedByCardId(Gui
token: token)
.ConfigureAwait(false);
- IEnumerable result = mapper.Map>(entities);
+ IEnumerable result = entities.Select(x => x.ToResponse());
return new PagedList(result, totalCount, parameters.PageNumber, parameters.PageSize);
}
@@ -264,9 +267,10 @@ public async Task> UpdateByAccountId(Guid accountId, Guid id, T
if (entity is null)
return TransactionServiceErrors.UpdateByAccountIdNotFound(id);
- _ = mapper.Map(request, entity);
+ entity = request.ToEntity(entity);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Updated;
@@ -290,9 +294,10 @@ public async Task> UpdateByCardId(Guid cardId, Guid id, Transac
if (entity is null)
return TransactionServiceErrors.UpdateByCardIdNotFound(id);
- _ = mapper.Map(request, entity);
+ entity = request.ToEntity(entity);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Updated;
diff --git a/src/BB84.Home.Application/Services/Identity/AuthenticationService.cs b/src/BB84.Home.Application/Services/Identity/AuthenticationService.cs
index ebb5469a..fd259225 100644
--- a/src/BB84.Home.Application/Services/Identity/AuthenticationService.cs
+++ b/src/BB84.Home.Application/Services/Identity/AuthenticationService.cs
@@ -1,11 +1,10 @@
using System.Security.Claims;
-using AutoMapper;
-
using BB84.Extensions;
using BB84.Home.Application.Contracts.Requests.Identity;
using BB84.Home.Application.Contracts.Responses.Identity;
using BB84.Home.Application.Errors.Services;
+using BB84.Home.Application.Extensions;
using BB84.Home.Application.Interfaces.Application.Services.Identity;
using BB84.Home.Application.Interfaces.Infrastructure.Services;
using BB84.Home.Domain.Entities.Identity;
@@ -26,8 +25,7 @@ namespace BB84.Home.Application.Services.Identity;
/// The token service instance to use.
/// The role service instance to use.
/// The user service instance to use.
-/// The auto mapper instance to use.
-internal sealed class AuthenticationService(ILoggerService logger, ITokenService tokenService, IRoleService roleService, IUserService userService, IMapper mapper) : IAuthenticationService
+internal sealed class AuthenticationService(ILoggerService logger, ITokenService tokenService, IRoleService roleService, IUserService userService) : IAuthenticationService
{
private static readonly Action LogException =
LoggerMessage.Define(LogLevel.Error, 0, "Exception occured.");
@@ -129,7 +127,7 @@ public async Task> CreateUser(UserCreateRequest request)
{
try
{
- UserEntity user = mapper.Map(request);
+ UserEntity user = request.ToEntity();
IdentityResult result = await userService.CreateAsync(user, request.Password)
.ConfigureAwait(false);
@@ -169,7 +167,7 @@ public async Task>> GetAllUser()
IList userEntities = await userService.GetUsersInRoleAsync(RoleType.User.GetName())
.ConfigureAwait(false);
- IEnumerable response = mapper.Map>(userEntities);
+ IEnumerable response = userEntities.Select(x => x.ToResponse());
return response.ToList();
}
@@ -190,8 +188,7 @@ public async Task> GetUserById(Guid userId)
if (user is null)
return AuthenticationServiceErrors.UserByIdNotFound(userId);
- UserResponse response =
- mapper.Map(user);
+ UserResponse response = user.ToResponse();
return response;
}
@@ -212,7 +209,7 @@ public async Task> GetUserByName(string userName)
if (user is null)
return AuthenticationServiceErrors.UserByNameNotFound(userName);
- UserResponse response = mapper.Map(user);
+ UserResponse response = user.ToResponse();
return response;
}
@@ -340,7 +337,7 @@ public async Task> UpdateUser(Guid userId, UserUpdateRequest re
if (user is null)
return AuthenticationServiceErrors.UserByIdNotFound(userId);
- _ = mapper.Map(request, user);
+ user = request.ToEntity(user);
IdentityResult result = await userService.UpdateAsync(user)
.ConfigureAwait(false);
diff --git a/src/BB84.Home.Application/Services/Todo/TodoService.cs b/src/BB84.Home.Application/Services/Todo/TodoService.cs
index 1bfe06c5..41b8bc31 100644
--- a/src/BB84.Home.Application/Services/Todo/TodoService.cs
+++ b/src/BB84.Home.Application/Services/Todo/TodoService.cs
@@ -1,8 +1,7 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Requests.Todo;
+using BB84.Home.Application.Contracts.Requests.Todo;
using BB84.Home.Application.Contracts.Responses.Todo;
using BB84.Home.Application.Errors.Services;
+using BB84.Home.Application.Extensions;
using BB84.Home.Application.Interfaces.Application.Services.Todo;
using BB84.Home.Application.Interfaces.Infrastructure.Services;
using BB84.Home.Application.Interfaces.Presentation.Services;
@@ -10,6 +9,7 @@
using BB84.Home.Domain.Errors;
using BB84.Home.Domain.Results;
+using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
namespace BB84.Home.Application.Services.Todo;
@@ -21,8 +21,7 @@ namespace BB84.Home.Application.Services.Todo;
/// The logger service for logging errors and information.
/// The service providing information about the current user.
/// The repository service for accessing data repositories.
-/// The mapper for converting between domain entities and data transfer objects.
-internal sealed class TodoService(ILoggerService loggerService, ICurrentUserService userService, IRepositoryService repositoryService, IMapper mapper) : ITodoService
+internal sealed class TodoService(ILoggerService loggerService, ICurrentUserService userService, IRepositoryService repositoryService) : ITodoService
{
private static readonly Action LogExceptionWithParams =
LoggerMessage.Define(LogLevel.Error, 0, "Exception occured. Params = {Parameters}");
@@ -31,13 +30,14 @@ public async Task> CreateListAsync(ListCreateRequest request, C
{
try
{
- ListEntity list = MapFromRequest(request);
- list.UserId = userService.UserId;
+ ListEntity entity = request.ToEntity(userService.UserId);
- await repositoryService.TodoListRepository.CreateAsync(list, token)
+ await repositoryService.TodoListRepository
+ .CreateAsync(entity, token)
.ConfigureAwait(false);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Created;
@@ -60,13 +60,14 @@ public async Task> CreateItemAsync(Guid listId, ItemCreateReque
if (list is null)
return TodoServiceErrors.GetListByIdNotFound(listId);
- ItemEntity item = MapFromRequest(request);
- item.ListId = listId;
+ ItemEntity item = request.ToEntity(listId);
- await repositoryService.TodoItemRepository.CreateAsync(item, token)
+ await repositoryService.TodoItemRepository
+ .CreateAsync(item, token)
.ConfigureAwait(false);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Created;
@@ -136,16 +137,18 @@ public async Task> GetListAsync(Guid listId, CancellationT
{
try
{
- ListEntity? todoList = await repositoryService.TodoListRepository
- .GetByIdAsync(listId, token: token, includeProperties: nameof(ListEntity.Items))
+ ListResponse? listResponse = await repositoryService.TodoListRepository
+ .GetByConditionAsync(
+ expression: x => x.Id == listId,
+ selector: listEntity => listEntity.ToResponse(),
+ queryFilter: qf => qf.Include(x => x.Items),
+ token: token)
.ConfigureAwait(false);
- if (todoList is null)
+ if (listResponse is null)
return TodoServiceErrors.GetListByIdNotFound(listId);
- ListResponse response = MapToResponse(todoList);
-
- return response;
+ return listResponse;
}
catch (Exception ex)
{
@@ -158,11 +161,11 @@ public async Task>> GetAllListsAsync(Cancellat
{
try
{
- IEnumerable todoLists = await repositoryService.TodoListRepository
+ IReadOnlyList entities = await repositoryService.TodoListRepository
.GetAllAsync(token: token)
.ConfigureAwait(false);
- IEnumerable response = MapToResponse(todoLists);
+ IEnumerable response = entities.Select(x => x.ToResponse());
return response.ToList();
}
@@ -184,9 +187,10 @@ public async Task> UpdateListAsync(Guid listId, ListUpdateReque
if (list is null)
return TodoServiceErrors.GetListByIdNotFound(listId);
- _ = MapFromRequest(request, list);
+ list = request.ToEntity(list);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Updated;
@@ -209,9 +213,10 @@ public async Task> UpdateItemAsync(Guid itemId, ItemUpdateReque
if (item is null)
return TodoServiceErrors.GetItemByIdNotFound(itemId);
- _ = MapFromRequest(request, item);
+ item = request.ToEntity(item);
- _ = await repositoryService.CommitChangesAsync(token)
+ _ = await repositoryService
+ .CommitChangesAsync(token)
.ConfigureAwait(false);
return Result.Updated;
@@ -222,22 +227,4 @@ public async Task> UpdateItemAsync(Guid itemId, ItemUpdateReque
return TodoServiceErrors.UpdateItemByIdFailed(itemId);
}
}
-
- private ListEntity MapFromRequest(ListCreateRequest request)
- => mapper.Map(request);
-
- private ItemEntity MapFromRequest(ItemCreateRequest request)
- => mapper.Map(request);
-
- private ListResponse MapToResponse(ListEntity list)
- => mapper.Map(list);
-
- private IEnumerable MapToResponse(IEnumerable lists)
- => lists.Select(MapToResponse);
-
- private ListEntity MapFromRequest(ListUpdateRequest request, ListEntity list)
- => mapper.Map(request, list);
-
- private ItemEntity MapFromRequest(ItemUpdateRequest request, ItemEntity item)
- => mapper.Map(request, item);
}
diff --git a/src/BB84.Home.Domain/Entities/Todo/ListEntity.cs b/src/BB84.Home.Domain/Entities/Todo/ListEntity.cs
index c25d94de..d37cf596 100644
--- a/src/BB84.Home.Domain/Entities/Todo/ListEntity.cs
+++ b/src/BB84.Home.Domain/Entities/Todo/ListEntity.cs
@@ -28,7 +28,7 @@ public class ListEntity : AuditedEntity
///
/// The items within the todo list.
///
- public virtual ICollection Items { get; set; } = default!;
+ public virtual ICollection Items { get; } = [];
///
/// The navigational property.
diff --git a/src/BB84.Home.Infrastructure/BB84.Home.Infrastructure.csproj b/src/BB84.Home.Infrastructure/BB84.Home.Infrastructure.csproj
index 07c1f7ab..4c340de6 100644
--- a/src/BB84.Home.Infrastructure/BB84.Home.Infrastructure.csproj
+++ b/src/BB84.Home.Infrastructure/BB84.Home.Infrastructure.csproj
@@ -3,6 +3,7 @@
+
diff --git a/src/BB84.Home.Infrastructure/Persistence/Repositories/AttendanceRepository.cs b/src/BB84.Home.Infrastructure/Persistence/Repositories/AttendanceRepository.cs
index a879d0b1..74bda410 100644
--- a/src/BB84.Home.Infrastructure/Persistence/Repositories/AttendanceRepository.cs
+++ b/src/BB84.Home.Infrastructure/Persistence/Repositories/AttendanceRepository.cs
@@ -1,13 +1,13 @@
using BB84.EntityFrameworkCore.Repositories;
-using BB84.EntityFrameworkCore.Repositories.Abstractions;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
using BB84.Home.Domain.Entities.Attendance;
namespace BB84.Home.Infrastructure.Persistence.Repositories;
///
-/// The attendance repository class.
+/// Represents the repository for the entity.
///
-///
-internal sealed class AttendanceRepository(IDbContext dbContext) : IdentityRepository(dbContext), IAttendanceRepository
+internal sealed class AttendanceRepository(IRepositoryContext repositoryContext)
+ : IdentityRepository(repositoryContext), IAttendanceRepository
{ }
diff --git a/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentDataRepository.cs b/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentDataRepository.cs
index 6479280c..da3c5475 100644
--- a/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentDataRepository.cs
+++ b/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentDataRepository.cs
@@ -1,13 +1,13 @@
using BB84.EntityFrameworkCore.Repositories;
-using BB84.EntityFrameworkCore.Repositories.Abstractions;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Documents;
using BB84.Home.Domain.Entities.Documents;
namespace BB84.Home.Infrastructure.Persistence.Repositories.Documents;
///
-/// The document data repository class.
+/// Represents the repository for the entity.
///
-///
-internal sealed class DocumentDataRepository(IDbContext dbContext) : IdentityRepository(dbContext), IDocumentDataRepository
+internal sealed class DocumentDataRepository(IRepositoryContext repositoryContext)
+ : IdentityRepository(repositoryContext), IDocumentDataRepository
{ }
diff --git a/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentExtensionRepository.cs b/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentExtensionRepository.cs
index 27307669..c06b3226 100644
--- a/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentExtensionRepository.cs
+++ b/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentExtensionRepository.cs
@@ -1,13 +1,13 @@
using BB84.EntityFrameworkCore.Repositories;
-using BB84.EntityFrameworkCore.Repositories.Abstractions;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Documents;
using BB84.Home.Domain.Entities.Documents;
namespace BB84.Home.Infrastructure.Persistence.Repositories.Documents;
///
-/// The document extension repository class.
+/// Represents the repository for the entity.
///
-///
-internal sealed class DocumentExtensionRepository(IDbContext dbContext) : IdentityRepository(dbContext), IDocumentExtensionRepository
+internal sealed class DocumentExtensionRepository(IRepositoryContext repositoryContext)
+ : IdentityRepository(repositoryContext), IDocumentExtensionRepository
{ }
diff --git a/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentRepository.cs b/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentRepository.cs
index c20e10f0..46f6d564 100644
--- a/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentRepository.cs
+++ b/src/BB84.Home.Infrastructure/Persistence/Repositories/Documents/DocumentRepository.cs
@@ -1,13 +1,13 @@
using BB84.EntityFrameworkCore.Repositories;
-using BB84.EntityFrameworkCore.Repositories.Abstractions;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Documents;
using BB84.Home.Domain.Entities.Documents;
namespace BB84.Home.Infrastructure.Persistence.Repositories.Documents;
///
-/// The document repository class.
+/// Represents the repository for the entity.
///
-///
-internal sealed class DocumentRepository(IDbContext dbContext) : IdentityRepository(dbContext), IDocumentRepository
+internal sealed class DocumentRepository(IRepositoryContext repositoryContext)
+ : IdentityRepository(repositoryContext), IDocumentRepository
{ }
diff --git a/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/AccountRepository.cs b/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/AccountRepository.cs
index e7e97d25..ddaf7338 100644
--- a/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/AccountRepository.cs
+++ b/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/AccountRepository.cs
@@ -1,13 +1,13 @@
using BB84.EntityFrameworkCore.Repositories;
-using BB84.EntityFrameworkCore.Repositories.Abstractions;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Domain.Entities.Finance;
namespace BB84.Home.Infrastructure.Persistence.Repositories.Finance;
///
-/// The account repository class.
+/// Represents the repository for the entity.
///
-///
-internal sealed class AccountRepository(IDbContext dbContext) : IdentityRepository(dbContext), IAccountRepository
+internal sealed class AccountRepository(IRepositoryContext repositoryContext)
+ : IdentityRepository(repositoryContext), IAccountRepository
{ }
diff --git a/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/CardRepository.cs b/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/CardRepository.cs
index aaaac41d..20044ea0 100644
--- a/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/CardRepository.cs
+++ b/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/CardRepository.cs
@@ -1,13 +1,13 @@
using BB84.EntityFrameworkCore.Repositories;
-using BB84.EntityFrameworkCore.Repositories.Abstractions;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Domain.Entities.Finance;
namespace BB84.Home.Infrastructure.Persistence.Repositories.Finance;
///
-/// The card repository class.
+/// Represents the repository for the entity.
///
-///
-internal sealed class CardRepository(IDbContext dbContext) : IdentityRepository(dbContext), ICardRepository
+internal sealed class CardRepository(IRepositoryContext repositoryContext)
+ : IdentityRepository(repositoryContext), ICardRepository
{ }
diff --git a/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/TransactionRepository.cs b/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/TransactionRepository.cs
index f9e3ca2b..a7349f50 100644
--- a/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/TransactionRepository.cs
+++ b/src/BB84.Home.Infrastructure/Persistence/Repositories/Finance/TransactionRepository.cs
@@ -1,13 +1,13 @@
using BB84.EntityFrameworkCore.Repositories;
-using BB84.EntityFrameworkCore.Repositories.Abstractions;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Domain.Entities.Finance;
namespace BB84.Home.Infrastructure.Persistence.Repositories.Finance;
///
-/// The transaction repository class.
+/// Represents the repository for the entity.
///
-///
-internal sealed class TransactionRepository(IDbContext dbContext) : IdentityRepository(dbContext), ITransactionRepository
+internal sealed class TransactionRepository(IRepositoryContext repositoryContext)
+ : IdentityRepository(repositoryContext), ITransactionRepository
{ }
diff --git a/src/BB84.Home.Infrastructure/Persistence/Repositories/Todo/ItemRepository.cs b/src/BB84.Home.Infrastructure/Persistence/Repositories/Todo/ItemRepository.cs
index 20b8faae..aebf396f 100644
--- a/src/BB84.Home.Infrastructure/Persistence/Repositories/Todo/ItemRepository.cs
+++ b/src/BB84.Home.Infrastructure/Persistence/Repositories/Todo/ItemRepository.cs
@@ -1,13 +1,13 @@
using BB84.EntityFrameworkCore.Repositories;
-using BB84.EntityFrameworkCore.Repositories.Abstractions;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Todo;
using BB84.Home.Domain.Entities.Todo;
namespace BB84.Home.Infrastructure.Persistence.Repositories.Todo;
///
-/// The item repository class.
+/// Represents the repository for the entity.
///
-///
-internal sealed class ItemRepository(IDbContext dbContext) : IdentityRepository(dbContext), IItemRepository
+internal sealed class ItemRepository(IRepositoryContext repositoryContext)
+ : IdentityRepository(repositoryContext), IItemRepository
{ }
diff --git a/src/BB84.Home.Infrastructure/Persistence/Repositories/Todo/ListRepository.cs b/src/BB84.Home.Infrastructure/Persistence/Repositories/Todo/ListRepository.cs
index 8c74e7b4..63f2faf5 100644
--- a/src/BB84.Home.Infrastructure/Persistence/Repositories/Todo/ListRepository.cs
+++ b/src/BB84.Home.Infrastructure/Persistence/Repositories/Todo/ListRepository.cs
@@ -1,13 +1,13 @@
using BB84.EntityFrameworkCore.Repositories;
-using BB84.EntityFrameworkCore.Repositories.Abstractions;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Todo;
using BB84.Home.Domain.Entities.Todo;
namespace BB84.Home.Infrastructure.Persistence.Repositories.Todo;
///
-/// The list repository class.
+/// Represents the repository for the entity.
///
-///
-internal sealed class ListRepository(IDbContext dbContext) : IdentityRepository(dbContext), IListRepository
+internal sealed class ListRepository(IRepositoryContext repositoryContext)
+ : IdentityRepository(repositoryContext), IListRepository
{ }
diff --git a/src/BB84.Home.Infrastructure/Services/RepositoryService.cs b/src/BB84.Home.Infrastructure/Services/RepositoryService.cs
index ad55adf0..aa15922f 100644
--- a/src/BB84.Home.Infrastructure/Services/RepositoryService.cs
+++ b/src/BB84.Home.Infrastructure/Services/RepositoryService.cs
@@ -1,6 +1,7 @@
using BB84.Home.Application.Interfaces.Infrastructure.Persistence;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Documents;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Todo;
using BB84.Home.Application.Interfaces.Infrastructure.Services;
diff --git a/src/BB84.Home.Presentation/BB84.Home.Presentation.csproj b/src/BB84.Home.Presentation/BB84.Home.Presentation.csproj
index 492e72ad..3528e2d8 100644
--- a/src/BB84.Home.Presentation/BB84.Home.Presentation.csproj
+++ b/src/BB84.Home.Presentation/BB84.Home.Presentation.csproj
@@ -7,5 +7,6 @@
+
diff --git a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.CreateAsync.cs b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.CreateAsync.cs
index eae8e5ce..b9c1a5d0 100644
--- a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.CreateAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.CreateAsync.cs
@@ -1,6 +1,7 @@
using BB84.Home.Application.Contracts.Requests.Attendance;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Services.Attendance;
using BB84.Home.Application.Tests.Helpers;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Attendance;
@@ -19,6 +20,7 @@ namespace ApplicationTests.Services.Attendance;
public sealed partial class AttendanceServiceTests
{
[TestMethod]
+ [TestCategory(nameof(AttendanceService.CreateAsync))]
public async Task CreateAsyncShouldReturnConflictWhenExistingEntryFound()
{
Guid id = Guid.NewGuid();
@@ -46,6 +48,7 @@ public async Task CreateAsyncShouldReturnConflictWhenExistingEntryFound()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.CreateAsync))]
public async Task CreateAsyncShouldReturnCreatedWhenSuccessful()
{
Guid id = Guid.NewGuid();
@@ -77,6 +80,7 @@ public async Task CreateAsyncShouldReturnCreatedWhenSuccessful()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.CreateAsync))]
public async Task CreateAsyncShouldReturnFailedWhenExceptionIsThrown()
{
Guid userId = Guid.NewGuid();
diff --git a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.CreateMultipleAsync.cs b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.CreateMultipleAsync.cs
index c165e590..7b963329 100644
--- a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.CreateMultipleAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.CreateMultipleAsync.cs
@@ -1,6 +1,7 @@
using BB84.Home.Application.Contracts.Requests.Attendance;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Services.Attendance;
using BB84.Home.Application.Tests.Helpers;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Attendance;
@@ -19,6 +20,7 @@ namespace ApplicationTests.Services.Attendance;
public sealed partial class AttendanceServiceTests
{
[TestMethod]
+ [TestCategory(nameof(AttendanceService.CreateAsync))]
public async Task CreateMultipleAsyncShouldReturnConflictWhenExistingEntriesFound()
{
IReadOnlyList requests = [RequestHelper.GetAttendanceCreateRequest()];
@@ -44,6 +46,7 @@ public async Task CreateMultipleAsyncShouldReturnConflictWhenExistingEntriesFoun
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.CreateAsync))]
public async Task CreateMultipleAsyncShouldReturnCreatedWhenSuccessful()
{
IReadOnlyList requests = [RequestHelper.GetAttendanceCreateRequest()];
@@ -72,6 +75,7 @@ public async Task CreateMultipleAsyncShouldReturnCreatedWhenSuccessful()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.CreateAsync))]
public async Task CreateMultipleAsyncShouldReturnFailedWhenExceptionIsThrown()
{
Guid userId = Guid.NewGuid();
diff --git a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.DeleteAsync.cs b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.DeleteAsync.cs
index 4c4857e1..d069e65c 100644
--- a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.DeleteAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.DeleteAsync.cs
@@ -1,5 +1,6 @@
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Services.Attendance;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Attendance;
using BB84.Home.Domain.Errors;
@@ -17,6 +18,7 @@ namespace ApplicationTests.Services.Attendance;
public sealed partial class AttendanceServiceTests
{
[TestMethod]
+ [TestCategory(nameof(AttendanceService.DeleteAsync))]
public async Task DeleteByIdShouldReturnFailedWhenExceptionIsThrown()
{
Guid id = Guid.NewGuid();
@@ -35,6 +37,7 @@ public async Task DeleteByIdShouldReturnFailedWhenExceptionIsThrown()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.DeleteAsync))]
public async Task DeleteByIdShouldReturnNotFoundWhenNotFound()
{
Guid id = Guid.NewGuid();
@@ -59,6 +62,7 @@ public async Task DeleteByIdShouldReturnNotFoundWhenNotFound()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.DeleteAsync))]
public async Task DeleteByIdShouldReturnDeletedWhenSuccessful()
{
Guid id = Guid.NewGuid();
diff --git a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.DeleteMultipleAsync.cs b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.DeleteMultipleAsync.cs
index 371caa0f..4cfc22a4 100644
--- a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.DeleteMultipleAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.DeleteMultipleAsync.cs
@@ -1,5 +1,6 @@
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Services.Attendance;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Attendance;
using BB84.Home.Domain.Errors;
@@ -17,6 +18,7 @@ namespace ApplicationTests.Services.Attendance;
public sealed partial class AttendanceServiceTests
{
[TestMethod]
+ [TestCategory(nameof(AttendanceService.DeleteAsync))]
public async Task DeleteMultipleAsyncShouldReturnFailedWhenExceptionIsThrown()
{
IReadOnlyList ids = [Guid.NewGuid(), Guid.NewGuid()];
@@ -36,6 +38,7 @@ public async Task DeleteMultipleAsyncShouldReturnFailedWhenExceptionIsThrown()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.DeleteAsync))]
public async Task DeleteMultipleAsyncShouldReturnNotFoundWhenNotFound()
{
IReadOnlyList ids = [Guid.NewGuid(), Guid.NewGuid()];
@@ -60,6 +63,7 @@ public async Task DeleteMultipleAsyncShouldReturnNotFoundWhenNotFound()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.DeleteAsync))]
public async Task DeleteMultipleAsyncShouldReturnDeletedWhenSuccessful()
{
IReadOnlyList ids = [Guid.NewGuid(), Guid.NewGuid()];
diff --git a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.GetByDateAsync.cs b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.GetByDateAsync.cs
index a606eff0..f18277f9 100644
--- a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.GetByDateAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.GetByDateAsync.cs
@@ -1,6 +1,7 @@
using BB84.Home.Application.Contracts.Responses.Attendance;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Services.Attendance;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Attendance;
using BB84.Home.Domain.Enumerators.Attendance;
@@ -18,6 +19,7 @@ namespace ApplicationTests.Services.Attendance;
public sealed partial class AttendanceServiceTests
{
[TestMethod]
+ [TestCategory(nameof(AttendanceService.GetByDateAsync))]
public async Task GetByDateShouldReturnFailedWhenExceptionIsThrown()
{
Guid userId = Guid.NewGuid();
@@ -40,6 +42,7 @@ public async Task GetByDateShouldReturnFailedWhenExceptionIsThrown()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.GetByDateAsync))]
public async Task GetByDateShouldReturnNotFoundWhenNotFound()
{
Guid userId = Guid.NewGuid();
@@ -65,6 +68,7 @@ public async Task GetByDateShouldReturnNotFoundWhenNotFound()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.GetByDateAsync))]
public async Task GetByDateShouldReturnValidResultWhenSuccessful()
{
Guid userId = Guid.NewGuid();
diff --git a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.GetPagedByParametersAsync.cs b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.GetPagedByParametersAsync.cs
index 82a79b7e..bd0ef2e5 100644
--- a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.GetPagedByParametersAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.GetPagedByParametersAsync.cs
@@ -5,6 +5,7 @@
using BB84.Home.Application.Features.Requests;
using BB84.Home.Application.Features.Responses;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Services.Attendance;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Attendance;
using BB84.Home.Domain.Errors;
@@ -21,6 +22,7 @@ namespace ApplicationTests.Services.Attendance;
public sealed partial class AttendanceServiceTests
{
[TestMethod]
+ [TestCategory(nameof(AttendanceService.GetPagedByParametersAsync))]
public async Task GetPagedByParametersShouldReturnFailedWhenExceptionIsThrown()
{
Guid userId = Guid.NewGuid();
@@ -40,6 +42,7 @@ public async Task GetPagedByParametersShouldReturnFailedWhenExceptionIsThrown()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.GetPagedByParametersAsync))]
public async Task GetPagedByParametersShouldReturnResultWhenSuccessful()
{
Guid userId = Guid.NewGuid();
diff --git a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.UpdateAsync.cs b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.UpdateAsync.cs
index bf1c24aa..e171a79f 100644
--- a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.UpdateAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.UpdateAsync.cs
@@ -1,6 +1,7 @@
using BB84.Home.Application.Contracts.Requests.Attendance;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Services.Attendance;
using BB84.Home.Application.Tests.Helpers;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Attendance;
@@ -20,6 +21,7 @@ namespace ApplicationTests.Services.Attendance;
public sealed partial class AttendanceServiceTests
{
[TestMethod]
+ [TestCategory(nameof(AttendanceService.UpdateAsync))]
public async Task UpdateAsyncShouldReturnNotFoundWhenNotFound()
{
AttendanceUpdateRequest request = RequestHelper.GetAttendanceUpdateRequest();
@@ -43,6 +45,7 @@ public async Task UpdateAsyncShouldReturnNotFoundWhenNotFound()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.UpdateAsync))]
public async Task UpdateAsyncShouldReturnCreatedWhenSuccessful()
{
AttendanceUpdateRequest request = RequestHelper.GetAttendanceUpdateRequest();
@@ -73,6 +76,7 @@ public async Task UpdateAsyncShouldReturnCreatedWhenSuccessful()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.UpdateAsync))]
public async Task UpdateAsyncShouldReturnFailedWhenExceptionIsThrown()
{
AttendanceUpdateRequest request = RequestHelper.GetAttendanceUpdateRequest();
diff --git a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.UpdateMultipleAsync.cs b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.UpdateMultipleAsync.cs
index f01e7411..c97c55f3 100644
--- a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.UpdateMultipleAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.UpdateMultipleAsync.cs
@@ -1,6 +1,7 @@
using BB84.Home.Application.Contracts.Requests.Attendance;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Services.Attendance;
using BB84.Home.Application.Tests.Helpers;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Attendance;
@@ -20,6 +21,7 @@ namespace ApplicationTests.Services.Attendance;
public sealed partial class AttendanceServiceTests
{
[TestMethod]
+ [TestCategory(nameof(AttendanceService.UpdateAsync))]
public async Task UpdateMultipleAsyncShouldReturnNotFoundWhenNotFound()
{
IReadOnlyList emptyList = [];
@@ -44,6 +46,7 @@ public async Task UpdateMultipleAsyncShouldReturnNotFoundWhenNotFound()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.UpdateAsync))]
public async Task UpdateMultipleAsyncShouldReturnCreatedWhenSuccessful()
{
IEnumerable requests = [RequestHelper.GetAttendanceUpdateRequest()];
@@ -74,6 +77,7 @@ public async Task UpdateMultipleAsyncShouldReturnCreatedWhenSuccessful()
}
[TestMethod]
+ [TestCategory(nameof(AttendanceService.UpdateAsync))]
public async Task UpdateMultipleAsyncShouldReturnFailedWhenExceptionIsThrown()
{
IEnumerable requests = [RequestHelper.GetAttendanceUpdateRequest()];
diff --git a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.cs b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.cs
index 3b83b19c..e08f8531 100644
--- a/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Attendance/AttendanceServiceTests.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Home.Application.Interfaces.Infrastructure.Services;
+using BB84.Home.Application.Interfaces.Infrastructure.Services;
using BB84.Home.Application.Interfaces.Presentation.Services;
using BB84.Home.Application.Services.Attendance;
using BB84.Home.Application.Tests;
@@ -15,7 +13,6 @@ public sealed partial class AttendanceServiceTests : ApplicationTestBase
{
private readonly CancellationToken _cancellationToken;
private readonly AttendanceService _sut;
- private readonly IMapper _mapper = GetService();
private readonly Mock> _loggerServiceMock = new();
private readonly Mock _repositoryServiceMock = new();
private readonly Mock _currentUserServiceMock = new();
@@ -23,6 +20,6 @@ public sealed partial class AttendanceServiceTests : ApplicationTestBase
public AttendanceServiceTests()
{
_cancellationToken = CancellationToken.None;
- _sut = new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object, _mapper);
+ _sut = new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object);
}
}
\ No newline at end of file
diff --git a/tests/BB84.Home.Application.Tests/Services/Common/CalendarServiceTests.cs b/tests/BB84.Home.Application.Tests/Services/Common/CalendarServiceTests.cs
index 040c0c3f..19ddfb58 100644
--- a/tests/BB84.Home.Application.Tests/Services/Common/CalendarServiceTests.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Common/CalendarServiceTests.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Home.Application.Contracts.Responses.Common;
+using BB84.Home.Application.Contracts.Responses.Common;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Features.Requests;
using BB84.Home.Application.Features.Responses;
@@ -19,7 +17,6 @@ namespace BB84.Home.Application.Tests.Services.Common;
[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, unit testing.")]
public sealed class CalendarServiceTests : ApplicationTestBase
{
- private readonly IMapper _mapper = GetService();
private Mock _dateTimeServiceMock = default!;
private Mock> _loggerServiceMock = default!;
@@ -115,6 +112,6 @@ private CalendarService CreateMockedInstance()
_dateTimeServiceMock = new();
_loggerServiceMock = new();
- return new(_dateTimeServiceMock.Object, _loggerServiceMock.Object, _mapper);
+ return new(_dateTimeServiceMock.Object, _loggerServiceMock.Object);
}
}
\ No newline at end of file
diff --git a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetAccountTypes.cs b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetAccountTypes.cs
index 1d36cfe9..98cc2c8f 100644
--- a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetAccountTypes.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetAccountTypes.cs
@@ -14,7 +14,7 @@ public sealed partial class EnumeratorServiceTests
[TestCategory(nameof(EnumeratorService.GetAccountTypes))]
public void GetAccountTypesShouldReturnResultWhenSuccessful()
{
- EnumeratorService sut = CreateMockedInstance(_mapper);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetAccountTypes();
@@ -31,16 +31,16 @@ public void GetAccountTypesShouldReturnResultWhenSuccessful()
[TestCategory(nameof(EnumeratorService.GetAccountTypes))]
public void GetAccountTypesShouldReturnFailedWhenExceptionGetThrown()
{
- EnumeratorService sut = CreateMockedInstance(null!);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetAccountTypes();
AssertionHelper.AssertInScope(() =>
{
result.Should().NotBeNull();
- result.IsError.Should().BeTrue();
- result.Errors.First().Should().Be(EnumeratorServiceErrors.GetAccountTypesFailed);
- result.Value.Should().BeNullOrEmpty();
+ result.IsError.Should().BeFalse();
+ result.Errors.Should().BeEmpty();
+ result.Value.Should().NotBeNullOrEmpty();
});
}
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetAttendanceTypes.cs b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetAttendanceTypes.cs
index f83c66c8..e6b6c740 100644
--- a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetAttendanceTypes.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetAttendanceTypes.cs
@@ -1,5 +1,4 @@
using BB84.Home.Application.Contracts.Responses.Common;
-using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Services.Common;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Errors;
@@ -14,7 +13,7 @@ public sealed partial class EnumeratorServiceTests
[TestCategory(nameof(EnumeratorService.GetAttendanceTypes))]
public void GetAttendanceTypesShouldReturnResultWhenSuccessful()
{
- EnumeratorService sut = CreateMockedInstance(_mapper);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetAttendanceTypes();
@@ -31,16 +30,16 @@ public void GetAttendanceTypesShouldReturnResultWhenSuccessful()
[TestCategory(nameof(EnumeratorService.GetAttendanceTypes))]
public void GetAttendanceTypesShouldReturnFailedWhenExceptionGetThrown()
{
- EnumeratorService sut = CreateMockedInstance(null!);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetAttendanceTypes();
AssertionHelper.AssertInScope(() =>
{
result.Should().NotBeNull();
- result.IsError.Should().BeTrue();
- result.Errors.First().Should().Be(EnumeratorServiceErrors.GetAttendanceTypesFailed);
- result.Value.Should().BeNullOrEmpty();
+ result.IsError.Should().BeFalse();
+ result.Errors.Count.Should().Be(0);
+ result.Value.Should().NotBeNullOrEmpty();
});
}
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetCardTypes.cs b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetCardTypes.cs
index 0fd8cde4..8b0cf5c7 100644
--- a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetCardTypes.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetCardTypes.cs
@@ -1,5 +1,4 @@
using BB84.Home.Application.Contracts.Responses.Common;
-using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Services.Common;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Errors;
@@ -14,7 +13,7 @@ public sealed partial class EnumeratorServiceTests
[TestCategory(nameof(EnumeratorService.GetCardTypes))]
public void GetCardTypesShouldReturnResultWhenSuccessful()
{
- EnumeratorService sut = CreateMockedInstance(_mapper);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetCardTypes();
@@ -31,16 +30,16 @@ public void GetCardTypesShouldReturnResultWhenSuccessful()
[TestCategory(nameof(EnumeratorService.GetCardTypes))]
public void GetCardTypesShouldReturnFailedWhenExceptionGetThrown()
{
- EnumeratorService sut = CreateMockedInstance(null!);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetCardTypes();
AssertionHelper.AssertInScope(() =>
{
result.Should().NotBeNull();
- result.IsError.Should().BeTrue();
- result.Errors.First().Should().Be(EnumeratorServiceErrors.GetCardTypesFailed);
- result.Value.Should().BeNullOrEmpty();
+ result.IsError.Should().BeFalse();
+ result.Errors.Count.Should().Be(0);
+ result.Value.Should().NotBeNullOrEmpty();
});
}
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetDocumentTypes.cs b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetDocumentTypes.cs
index 16a96f53..ae7f93d3 100644
--- a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetDocumentTypes.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetDocumentTypes.cs
@@ -1,5 +1,4 @@
using BB84.Home.Application.Contracts.Responses.Common;
-using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Services.Common;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Errors;
@@ -14,7 +13,7 @@ public sealed partial class EnumeratorServiceTests
[TestCategory(nameof(EnumeratorService.GetDocumentTypes))]
public void GetDocumentTypesShouldReturnResultWhenSuccessful()
{
- EnumeratorService sut = CreateMockedInstance(_mapper);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetDocumentTypes();
@@ -31,16 +30,16 @@ public void GetDocumentTypesShouldReturnResultWhenSuccessful()
[TestCategory(nameof(EnumeratorService.GetDocumentTypes))]
public void GetDocumentTypesShouldReturnFailedWhenExceptionGetThrown()
{
- EnumeratorService sut = CreateMockedInstance(null!);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetDocumentTypes();
AssertionHelper.AssertInScope(() =>
{
result.Should().NotBeNull();
- result.IsError.Should().BeTrue();
- result.Errors.First().Should().Be(EnumeratorServiceErrors.GetDocumentTypesFailed);
- result.Value.Should().BeNullOrEmpty();
+ result.IsError.Should().BeFalse();
+ result.Errors.Count.Should().Be(0);
+ result.Value.Should().NotBeNullOrEmpty();
});
}
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetPriorityLevelTypes.cs b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetPriorityLevelTypes.cs
index f8a68672..75082199 100644
--- a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetPriorityLevelTypes.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetPriorityLevelTypes.cs
@@ -1,5 +1,4 @@
using BB84.Home.Application.Contracts.Responses.Common;
-using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Services.Common;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Errors;
@@ -14,7 +13,7 @@ public sealed partial class EnumeratorServiceTests
[TestCategory(nameof(EnumeratorService.GetPriorityLevelTypes))]
public void GetPriorityLevelTypesShouldReturnResultWhenSuccessful()
{
- EnumeratorService sut = CreateMockedInstance(_mapper);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetPriorityLevelTypes();
@@ -31,16 +30,16 @@ public void GetPriorityLevelTypesShouldReturnResultWhenSuccessful()
[TestCategory(nameof(EnumeratorService.GetPriorityLevelTypes))]
public void GetPriorityLevelTypesShouldReturnFailedWhenExceptionGetThrown()
{
- EnumeratorService sut = CreateMockedInstance(null!);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetPriorityLevelTypes();
AssertionHelper.AssertInScope(() =>
{
result.Should().NotBeNull();
- result.IsError.Should().BeTrue();
- result.Errors.First().Should().Be(EnumeratorServiceErrors.GetPriorityLevelTypesFailed);
- result.Value.Should().BeNullOrEmpty();
+ result.IsError.Should().BeFalse();
+ result.Errors.Count.Should().Be(0);
+ result.Value.Should().NotBeNullOrEmpty();
});
}
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetRoleTypes.cs b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetRoleTypes.cs
index d3aa0400..8841e3b3 100644
--- a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetRoleTypes.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetRoleTypes.cs
@@ -1,5 +1,4 @@
using BB84.Home.Application.Contracts.Responses.Common;
-using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Services.Common;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Errors;
@@ -13,7 +12,7 @@ public sealed partial class EnumeratorServiceTests
[TestCategory(nameof(EnumeratorService.GetRoleTypes))]
public void GetRoleTypesShouldReturnResultWhenSuccessful()
{
- EnumeratorService sut = CreateMockedInstance(_mapper);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetRoleTypes();
@@ -30,16 +29,16 @@ public void GetRoleTypesShouldReturnResultWhenSuccessful()
[TestCategory(nameof(EnumeratorService.GetRoleTypes))]
public void GetRoleTypesShouldReturnFailedWhenExceptionGetThrown()
{
- EnumeratorService sut = CreateMockedInstance(null!);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetRoleTypes();
AssertionHelper.AssertInScope(() =>
{
result.Should().NotBeNull();
- result.IsError.Should().BeTrue();
- result.Errors.First().Should().Be(EnumeratorServiceErrors.GetRoleTypesFailed);
- result.Value.Should().BeNullOrEmpty();
+ result.IsError.Should().BeFalse();
+ result.Errors.Count.Should().Be(0);
+ result.Value.Should().NotBeNullOrEmpty();
});
}
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetWorkDayTypes.cs b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetWorkDayTypes.cs
index e4f3fca7..6ec51669 100644
--- a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetWorkDayTypes.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.GetWorkDayTypes.cs
@@ -1,5 +1,4 @@
using BB84.Home.Application.Contracts.Responses.Common;
-using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Services.Common;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Errors;
@@ -14,7 +13,7 @@ public sealed partial class EnumeratorServiceTests
[TestCategory(nameof(EnumeratorService.GetWorkDayTypes))]
public void GetWorkDayTypesShouldReturnResultWhenSuccessful()
{
- EnumeratorService sut = CreateMockedInstance(_mapper);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetWorkDayTypes();
@@ -31,16 +30,16 @@ public void GetWorkDayTypesShouldReturnResultWhenSuccessful()
[TestCategory(nameof(EnumeratorService.GetWorkDayTypes))]
public void GetWorkDayTypesShouldReturnFailedWhenExceptionGetThrown()
{
- EnumeratorService sut = CreateMockedInstance(null!);
+ EnumeratorService sut = CreateMockedInstance();
ErrorOr> result = sut.GetWorkDayTypes();
AssertionHelper.AssertInScope(() =>
{
result.Should().NotBeNull();
- result.IsError.Should().BeTrue();
- result.Errors.First().Should().Be(EnumeratorServiceErrors.GetWorkDayTypesFailed);
- result.Value.Should().BeNullOrEmpty();
+ result.IsError.Should().BeFalse();
+ result.Errors.Count.Should().Be(0);
+ result.Value.Should().NotBeNullOrEmpty();
});
}
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.cs b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.cs
index 6e8bc0f0..a16911b2 100644
--- a/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Common/EnumeratorServiceTests.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Home.Application.Interfaces.Infrastructure.Services;
+using BB84.Home.Application.Interfaces.Infrastructure.Services;
using BB84.Home.Application.Services.Common;
using BB84.Home.Application.Tests;
@@ -12,13 +10,12 @@ namespace ApplicationTests.Services.Common;
[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, unit testing.")]
public sealed partial class EnumeratorServiceTests : ApplicationTestBase
{
- private readonly IMapper _mapper = GetService();
private Mock> _loggerServiceMock = default!;
- private EnumeratorService CreateMockedInstance(IMapper mapper)
+ private EnumeratorService CreateMockedInstance()
{
_loggerServiceMock = new();
- return new(_loggerServiceMock.Object, mapper);
+ return new(_loggerServiceMock.Object);
}
}
\ No newline at end of file
diff --git a/tests/BB84.Home.Application.Tests/Services/Documents/DocumentServiceTests.cs b/tests/BB84.Home.Application.Tests/Services/Documents/DocumentServiceTests.cs
index c2425762..c303308b 100644
--- a/tests/BB84.Home.Application.Tests/Services/Documents/DocumentServiceTests.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Documents/DocumentServiceTests.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Extensions;
+using BB84.Extensions;
using BB84.Home.Application.Interfaces.Infrastructure.Services;
using BB84.Home.Application.Interfaces.Presentation.Services;
using BB84.Home.Application.Services.Documents;
@@ -22,12 +20,11 @@ public sealed partial class DocumentServiceTests : ApplicationTestBase
private readonly Mock> _loggerServiceMock = new();
private readonly Mock _currentUserService = new();
private readonly Mock _repositoryServiceMock = new();
- private readonly IMapper _mapper = GetService();
public DocumentServiceTests()
{
_cancellationToken = CancellationToken.None;
- _sut = new(_loggerServiceMock.Object, _currentUserService.Object, _repositoryServiceMock.Object, _mapper);
+ _sut = new(_loggerServiceMock.Object, _currentUserService.Object, _repositoryServiceMock.Object);
}
private static DocumentEntity CreateDocument(Guid? id = null)
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.CreateAsync.cs b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.CreateAsync.cs
index 04a2e703..30d0b206 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.CreateAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.CreateAsync.cs
@@ -2,7 +2,7 @@
using BB84.Home.Application.Contracts.Requests.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Application.Tests.Helpers;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.DeleteAsync.cs b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.DeleteAsync.cs
index 70f0e411..867695bd 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.DeleteAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.DeleteAsync.cs
@@ -1,5 +1,5 @@
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Finance;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.GetAllAsync.cs b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.GetAllAsync.cs
index 55852d1f..4e23c5ef 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.GetAllAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.GetAllAsync.cs
@@ -1,6 +1,6 @@
using BB84.Home.Application.Contracts.Responses.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Finance;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.GetByIdAsync.cs b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.GetByIdAsync.cs
index 297fa74a..56499ebd 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.GetByIdAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.GetByIdAsync.cs
@@ -2,7 +2,7 @@
using BB84.Home.Application.Contracts.Responses.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Finance;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.UpdateAsync.cs b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.UpdateAsync.cs
index c6c637c8..2b691d0e 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.UpdateAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.UpdateAsync.cs
@@ -1,6 +1,6 @@
using BB84.Home.Application.Contracts.Requests.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Application.Tests.Helpers;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.cs b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.cs
index 1f1e32f1..c62468dc 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/AccountServiceTests.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Home.Application.Interfaces.Infrastructure.Services;
+using BB84.Home.Application.Interfaces.Infrastructure.Services;
using BB84.Home.Application.Interfaces.Presentation.Services;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
@@ -14,7 +12,6 @@ namespace ApplicationTests.Services.Finance;
public sealed partial class AccountServiceTests : ApplicationTestBase
{
private readonly CancellationToken _cancellationToken;
- private readonly IMapper _mapper;
private readonly AccountService _sut;
private readonly Mock> _loggerServiceMock = new();
private readonly Mock _currentUserServiceMock = new();
@@ -23,7 +20,6 @@ public sealed partial class AccountServiceTests : ApplicationTestBase
public AccountServiceTests()
{
_cancellationToken = CancellationToken.None;
- _mapper = GetService();
- _sut = new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object, _mapper);
+ _sut = new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object);
}
}
\ No newline at end of file
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.CreateAsync.cs b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.CreateAsync.cs
index 79072cf2..39528136 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.CreateAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.CreateAsync.cs
@@ -2,7 +2,7 @@
using BB84.Home.Application.Contracts.Requests.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Application.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.DeleteAsync.cs b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.DeleteAsync.cs
index 30278b50..55fb70af 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.DeleteAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.DeleteAsync.cs
@@ -1,5 +1,5 @@
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Finance;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.GetById.cs b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.GetById.cs
index a79d876b..332e2123 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.GetById.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.GetById.cs
@@ -1,6 +1,6 @@
using BB84.Home.Application.Contracts.Responses.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.GetByUserId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.GetByUserId.cs
index e60a2596..1473ff22 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.GetByUserId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.GetByUserId.cs
@@ -1,6 +1,6 @@
using BB84.Home.Application.Contracts.Responses.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Finance;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.UpdateAsync.cs b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.UpdateAsync.cs
index 9058fcb9..37147a60 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.UpdateAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.UpdateAsync.cs
@@ -1,6 +1,6 @@
using BB84.Home.Application.Contracts.Requests.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Application.Tests.Helpers;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.cs b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.cs
index 4516391d..bebcc31e 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/CardServiceTests.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Interfaces.Infrastructure.Services;
using BB84.Home.Application.Interfaces.Presentation.Services;
using BB84.Home.Application.Services.Finance;
@@ -15,7 +13,6 @@ namespace ApplicationTests.Services.Finance;
public sealed partial class CardServiceTests : ApplicationTestBase
{
private readonly CancellationToken _cancellationToken;
- private readonly IMapper _mapper;
private readonly CardService _sut;
private readonly Mock> _loggerServiceMock = new();
private readonly Mock _currentUserServiceMock = new();
@@ -24,8 +21,7 @@ public sealed partial class CardServiceTests : ApplicationTestBase
public CardServiceTests()
{
_cancellationToken = CancellationToken.None;
- _mapper = GetService();
- _sut = new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object, _mapper);
+ _sut = new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object);
}
private CardService CreateMockedInstance(IAccountRepository? accountRepository = null, ICardRepository? cardRepository = null)
@@ -36,6 +32,6 @@ private CardService CreateMockedInstance(IAccountRepository? accountRepository =
if (cardRepository is not null)
_repositoryServiceMock.Setup(x => x.CardRepository).Returns(cardRepository);
- return new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object, _mapper);
+ return new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object);
}
}
\ No newline at end of file
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.CreateByAccountId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.CreateByAccountId.cs
index 69a4b27f..592f464a 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.CreateByAccountId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.CreateByAccountId.cs
@@ -1,6 +1,6 @@
using BB84.Home.Application.Contracts.Requests.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Application.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.CreateByCardId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.CreateByCardId.cs
index 826858b7..dcf59e51 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.CreateByCardId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.CreateByCardId.cs
@@ -1,6 +1,6 @@
using BB84.Home.Application.Contracts.Requests.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Application.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.DeleteByAccountId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.DeleteByAccountId.cs
index 178ff6d2..f33e9cbc 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.DeleteByAccountId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.DeleteByAccountId.cs
@@ -1,5 +1,5 @@
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.DeleteByCardId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.DeleteByCardId.cs
index 36bdc4c0..982981d4 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.DeleteByCardId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.DeleteByCardId.cs
@@ -1,5 +1,5 @@
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetByAccountId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetByAccountId.cs
index cbb9f4a4..21f0c8e5 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetByAccountId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetByAccountId.cs
@@ -2,7 +2,7 @@
using BB84.Home.Application.Contracts.Responses.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetByCardId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetByCardId.cs
index 7d139401..09b34228 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetByCardId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetByCardId.cs
@@ -2,7 +2,7 @@
using BB84.Home.Application.Contracts.Responses.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetPagedByAccountId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetPagedByAccountId.cs
index 29c870b1..01e85a55 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetPagedByAccountId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetPagedByAccountId.cs
@@ -4,7 +4,7 @@
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Features.Requests;
using BB84.Home.Application.Features.Responses;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetPagedByCardId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetPagedByCardId.cs
index d437fb75..a88b669d 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetPagedByCardId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.GetPagedByCardId.cs
@@ -4,7 +4,7 @@
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Features.Requests;
using BB84.Home.Application.Features.Responses;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Base.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.UpdateByAccountId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.UpdateByAccountId.cs
index 48059d0a..8a3ddcbe 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.UpdateByAccountId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.UpdateByAccountId.cs
@@ -2,7 +2,7 @@
using BB84.Home.Application.Contracts.Requests.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Application.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.UpdateByCardId.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.UpdateByCardId.cs
index 01ada41a..1a132db5 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.UpdateByCardId.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.UpdateByCardId.cs
@@ -2,7 +2,7 @@
using BB84.Home.Application.Contracts.Requests.Finance;
using BB84.Home.Application.Errors.Services;
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
using BB84.Home.Application.Tests.Helpers;
diff --git a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.cs b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.cs
index 7a7f1627..53d8d6c1 100644
--- a/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Finance/TransactionServiceTests.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories;
+using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Finance;
using BB84.Home.Application.Interfaces.Infrastructure.Services;
using BB84.Home.Application.Services.Finance;
using BB84.Home.Application.Tests;
@@ -14,14 +12,12 @@ namespace ApplicationTests.Services.Finance;
public sealed partial class TransactionServiceTests : ApplicationTestBase
{
private readonly CancellationToken _cancellationToken;
- private readonly IMapper _mapper;
private Mock> _loggerServiceMock = default!;
private Mock _repositoryServiceMock = default!;
public TransactionServiceTests()
{
_cancellationToken = CancellationToken.None;
- _mapper = GetService();
}
private TransactionService CreateMockedInstance(IAccountRepository? accountRepository = null, ICardRepository? cardRepository = null, ITransactionRepository? transactionRepository = null)
@@ -38,6 +34,6 @@ private TransactionService CreateMockedInstance(IAccountRepository? accountRepos
if (transactionRepository is not null)
_repositoryServiceMock.Setup(x => x.TransactionRepository).Returns(transactionRepository);
- return new(_loggerServiceMock.Object, _repositoryServiceMock.Object, _mapper);
+ return new(_loggerServiceMock.Object, _repositoryServiceMock.Object);
}
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Identity/AuthenticationServiceTests.cs b/tests/BB84.Home.Application.Tests/Services/Identity/AuthenticationServiceTests.cs
index eb35033f..451ec1fa 100644
--- a/tests/BB84.Home.Application.Tests/Services/Identity/AuthenticationServiceTests.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Identity/AuthenticationServiceTests.cs
@@ -1,8 +1,6 @@
using System.Security.Claims;
using System.Security.Principal;
-using AutoMapper;
-
using BB84.Home.Application.Contracts.Requests.Identity;
using BB84.Home.Application.Interfaces.Application.Services.Identity;
using BB84.Home.Application.Interfaces.Infrastructure.Services;
@@ -22,7 +20,6 @@ namespace ApplicationTests.Services.Identity;
[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, unit testing.")]
public sealed partial class AuthenticationServiceTests : ApplicationTestBase
{
- private readonly IMapper _mapper = GetService();
private Mock> _bearerSettingsMock = default!;
private Mock _tokenServiceMock = default!;
private Mock> _loggerServiceMock = default!;
@@ -53,10 +50,8 @@ private AuthenticationService CreateMockedInstance(BearerSettingsOption? setting
logger: _loggerServiceMock.Object,
tokenService: _tokenServiceMock.Object,
roleService: _roleServiceMock.Object,
- userService: _userServiceMock.Object,
- mapper: _mapper
+ userService: _userServiceMock.Object
);
-
return authenticationService;
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.CreateItemAsync.cs b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.CreateItemAsync.cs
index eb45f20f..bbcb8ee5 100644
--- a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.CreateItemAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.CreateItemAsync.cs
@@ -1,6 +1,7 @@
using BB84.Home.Application.Contracts.Requests.Todo;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Todo;
+using BB84.Home.Application.Services.Todo;
using BB84.Home.Application.Tests.Helpers;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Todo;
@@ -19,6 +20,7 @@ namespace ApplicationTests.Services.Todo;
public sealed partial class TodoServiceTests
{
[TestMethod]
+ [TestCategory(nameof(TodoService.CreateItemAsync))]
public async Task CreateItemAsyncShouldReturnFailedWhenExceptionIsThrown()
{
Guid listId = Guid.NewGuid();
@@ -38,6 +40,7 @@ public async Task CreateItemAsyncShouldReturnFailedWhenExceptionIsThrown()
}
[TestMethod]
+ [TestCategory(nameof(TodoService.CreateItemAsync))]
public async Task CreateItemAsyncShouldReturnNotFoundWhenNotFound()
{
Guid listId = Guid.NewGuid();
@@ -63,6 +66,7 @@ public async Task CreateItemAsyncShouldReturnNotFoundWhenNotFound()
}
[TestMethod]
+ [TestCategory(nameof(TodoService.CreateItemAsync))]
public async Task CreateItemAsyncShouldReturnCreatedWhenSuccessful()
{
Guid listId = Guid.NewGuid();
diff --git a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.CreateListAsync.cs b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.CreateListAsync.cs
index 25602f3d..36892669 100644
--- a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.CreateListAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.CreateListAsync.cs
@@ -1,6 +1,7 @@
using BB84.Home.Application.Contracts.Requests.Todo;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Todo;
+using BB84.Home.Application.Services.Todo;
using BB84.Home.Application.Tests.Helpers;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Todo;
@@ -19,6 +20,7 @@ namespace ApplicationTests.Services.Todo;
public sealed partial class TodoServiceTests
{
[TestMethod]
+ [TestCategory(nameof(TodoService.CreateListAsync))]
public async Task CreateListAsyncShouldReturnFailedWhenExceptionIsThrown()
{
Guid userId = Guid.NewGuid();
@@ -40,6 +42,7 @@ public async Task CreateListAsyncShouldReturnFailedWhenExceptionIsThrown()
}
[TestMethod]
+ [TestCategory(nameof(TodoService.CreateListAsync))]
public async Task CreateListAsyncShouldReturnCreatedWhenSuccessful()
{
Guid userId = Guid.NewGuid();
diff --git a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.GetAllListsAsync.cs b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.GetAllListsAsync.cs
index 57ef1414..be56c7ce 100644
--- a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.GetAllListsAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.GetAllListsAsync.cs
@@ -4,6 +4,7 @@
using BB84.Home.Application.Contracts.Responses.Todo;
using BB84.Home.Application.Errors.Services;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Todo;
+using BB84.Home.Application.Services.Todo;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Todo;
using BB84.Home.Domain.Errors;
@@ -20,7 +21,7 @@ namespace ApplicationTests.Services.Todo;
public sealed partial class TodoServiceTests
{
[TestMethod]
- [TestCategory("Methods")]
+ [TestCategory(nameof(TodoService.GetAllListsAsync))]
public async Task GetAllListsAsyncShouldReturnFailedWhenExceptionIsThrown()
{
Guid userId = Guid.NewGuid();
@@ -41,7 +42,7 @@ public async Task GetAllListsAsyncShouldReturnFailedWhenExceptionIsThrown()
}
[TestMethod]
- [TestCategory("Methods")]
+ [TestCategory(nameof(TodoService.GetAllListsAsync))]
public async Task GetAllListsAsyncShouldReturnValidResultWhenSuccessful()
{
Guid userId = Guid.NewGuid();
@@ -65,7 +66,7 @@ public async Task GetAllListsAsyncShouldReturnValidResultWhenSuccessful()
result.Errors.Should().BeEmpty();
result.Value.First().Title.Should().Be(list.Title);
result.Value.First().Color.Should().Be(list.Color?.ToRGBHexString());
- result.Value.First().Items.Should().BeNull();
+ result.Value.First().Items.Should().BeEmpty();
listMock.Verify(x => x.GetAllAsync(false, false, _cancellationToken), Times.Once);
_loggerServiceMock.Verify(x => x.Log(It.IsAny>(), userId, It.IsAny()), Times.Never);
});
diff --git a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.GetListAsync.cs b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.GetListAsync.cs
index b3ef07bb..9f6b4302 100644
--- a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.GetListAsync.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.GetListAsync.cs
@@ -1,8 +1,10 @@
using System.Drawing;
+using System.Linq.Expressions;
using BB84.Extensions;
using BB84.Home.Application.Contracts.Responses.Todo;
using BB84.Home.Application.Errors.Services;
+using BB84.Home.Application.Extensions;
using BB84.Home.Application.Interfaces.Infrastructure.Persistence.Repositories.Todo;
using BB84.Home.Base.Tests.Helpers;
using BB84.Home.Domain.Entities.Todo;
@@ -44,8 +46,12 @@ public async Task GetListAsyncShouldReturnNotFoundWhenNotFound()
Guid listId = Guid.NewGuid();
CancellationToken token = CancellationToken.None;
Mock listMock = new();
- listMock.Setup(x => x.GetByIdAsync(listId, default, default, _cancellationToken, nameof(ListEntity.Items)))
- .Returns(Task.FromResult(null));
+ listMock.Setup(x => x.GetByConditionAsync(
+ It.IsAny>>(),
+ It.IsAny>>(),
+ null, It.IsAny, IQueryable>?>(),
+ false, _cancellationToken)
+ ).Returns(Task.FromResult(null));
_repositoryServiceMock.Setup(x => x.TodoListRepository)
.Returns(listMock.Object);
@@ -58,7 +64,7 @@ public async Task GetListAsyncShouldReturnNotFoundWhenNotFound()
result.Should().NotBeNull();
result.IsError.Should().BeTrue();
result.Errors.First().Should().Be(TodoServiceErrors.GetListByIdNotFound(listId));
- listMock.Verify(x => x.GetByIdAsync(listId, default, default, _cancellationToken, nameof(ListEntity.Items)), Times.Once);
+ listMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), It.IsAny>>(), null, It.IsAny, IQueryable>?>(), false, _cancellationToken), Times.Once);
_loggerServiceMock.Verify(x => x.Log(It.IsAny>(), listId, It.IsAny()), Times.Never);
});
}
@@ -69,10 +75,16 @@ public async Task GetListAsyncShouldReturnValidResultWhenSuccessful()
Guid listId = Guid.NewGuid();
CancellationToken token = CancellationToken.None;
ItemEntity item = new() { Id = Guid.NewGuid(), Title = "UnitTest", Note = "UnitTest", Priority = PriorityLevelType.Medium, Reminder = DateTime.Today, Done = true };
- ListEntity list = new() { Id = listId, Title = "UnitTest", Color = Color.Black, Items = [item] };
+ ListEntity list = new() { Id = listId, Title = "UnitTest", Color = Color.Black };
+ list.Items.Add(item);
+ ListResponse listResponse = list.ToResponse();
Mock listMock = new();
- listMock.Setup(x => x.GetByIdAsync(listId, default, default, _cancellationToken, nameof(ListEntity.Items)))
- .Returns(Task.FromResult(list));
+ listMock.Setup(x => x.GetByConditionAsync(
+ It.IsAny>>(),
+ It.IsAny>>(),
+ null, It.IsAny, IQueryable>?>(),
+ false, _cancellationToken)
+ ).Returns(Task.FromResult(listResponse));
_repositoryServiceMock.Setup(x => x.TodoListRepository)
.Returns(listMock.Object);
@@ -94,7 +106,7 @@ public async Task GetListAsyncShouldReturnValidResultWhenSuccessful()
result.Value.Items?.First().Priority.Should().Be(item.Priority);
result.Value.Items?.First().Reminder.Should().Be(item.Reminder);
result.Value.Items?.First().Done.Should().Be(item.Done);
- listMock.Verify(x => x.GetByIdAsync(listId, default, default, _cancellationToken, nameof(ListEntity.Items)), Times.Once);
+ listMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), It.IsAny>>(), null, It.IsAny, IQueryable>?>(), false, _cancellationToken), Times.Once);
_loggerServiceMock.Verify(x => x.Log(It.IsAny>(), listId, It.IsAny()), Times.Never);
});
}
diff --git a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.cs b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.cs
index 30db9abd..11892034 100644
--- a/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.cs
+++ b/tests/BB84.Home.Application.Tests/Services/Todo/TodoServiceTests.cs
@@ -1,6 +1,4 @@
-using AutoMapper;
-
-using BB84.Home.Application.Interfaces.Infrastructure.Services;
+using BB84.Home.Application.Interfaces.Infrastructure.Services;
using BB84.Home.Application.Interfaces.Presentation.Services;
using BB84.Home.Application.Services.Todo;
using BB84.Home.Application.Tests;
@@ -15,7 +13,6 @@ public sealed partial class TodoServiceTests : ApplicationTestBase
{
private readonly CancellationToken _cancellationToken;
private readonly TodoService _sut;
- private readonly IMapper _mapper = GetService();
private readonly Mock> _loggerServiceMock = new();
private readonly Mock _repositoryServiceMock = new();
private readonly Mock _currentUserServiceMock = new();
@@ -23,6 +20,6 @@ public sealed partial class TodoServiceTests : ApplicationTestBase
public TodoServiceTests()
{
_cancellationToken = CancellationToken.None;
- _sut = new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object, _mapper);
+ _sut = new(_loggerServiceMock.Object, _currentUserServiceMock.Object, _repositoryServiceMock.Object);
}
}
\ No newline at end of file