diff --git a/src/Api/Holefeeder.Api/ErrorHandling/CustomErrorHandler.cs b/src/Api/Holefeeder.Api/ErrorHandling/CustomErrorHandler.cs index 20a37b85..1d5d9d87 100644 --- a/src/Api/Holefeeder.Api/ErrorHandling/CustomErrorHandler.cs +++ b/src/Api/Holefeeder.Api/ErrorHandling/CustomErrorHandler.cs @@ -57,8 +57,8 @@ private static async Task WriteResponse(HttpContext httpContext, bool includeDet } private static ProblemDetails CreateProblemDetails(int statusCode, string title, string? details) => - new ProblemDetails { Status = statusCode, Title = title, Detail = details }; + new() { Status = statusCode, Title = title, Detail = details }; - private static ProblemDetails CreateValidationProblemDetails(IDictionary errors) => - new ValidationProblemDetails(errors) { Status = StatusCodes.Status422UnprocessableEntity }; + private static ValidationProblemDetails CreateValidationProblemDetails(IDictionary errors) => + new(errors) { Status = StatusCodes.Status422UnprocessableEntity }; } diff --git a/src/Api/Holefeeder.Api/Extensions/ServiceCollectionExtensions.cs b/src/Api/Holefeeder.Api/Extensions/ServiceCollectionExtensions.cs index dc52b0d4..18ba3c7a 100644 --- a/src/Api/Holefeeder.Api/Extensions/ServiceCollectionExtensions.cs +++ b/src/Api/Holefeeder.Api/Extensions/ServiceCollectionExtensions.cs @@ -76,7 +76,7 @@ public static IServiceCollection AddSwagger(this IServiceCollection services, IH { new OpenApiSecurityScheme { - Reference = new OpenApiReference {Type = ReferenceType.SecurityScheme, Id = "oauth2"} + Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "oauth2" } }, new List() } @@ -88,13 +88,16 @@ public static IServiceCollection AddSwagger(this IServiceCollection services, IH return services; } + static readonly string[] serviceTags = new[] { "holefeeder", "api", "service" }; + static readonly string[] databaseTags = new[] { "holefeeder", "api", "mysql" }; + public static IServiceCollection AddHealthChecks(this IServiceCollection services, IConfiguration configuration) { services .AddHealthChecks() - .AddCheck("api", () => HealthCheckResult.Healthy(), new[] { "holefeeder", "api", "service" }) + .AddCheck("api", () => HealthCheckResult.Healthy(), serviceTags) .AddMySql(configuration.GetConnectionString(BudgetingConnectionStringBuilder.BUDGETING_CONNECTION_STRING)!, - name: "budgeting-db-check", tags: new[] { "holefeeder", "api", "mysql" }); + name: "budgeting-db-check", tags: databaseTags); return services; } diff --git a/src/Api/Holefeeder.Api/Swagger/QueryRequestOperationFilter.cs b/src/Api/Holefeeder.Api/Swagger/QueryRequestOperationFilter.cs index d47ade23..89b78358 100644 --- a/src/Api/Holefeeder.Api/Swagger/QueryRequestOperationFilter.cs +++ b/src/Api/Holefeeder.Api/Swagger/QueryRequestOperationFilter.cs @@ -12,15 +12,8 @@ public class QueryRequestOperationFilter : IOperationFilter { public void Apply(OpenApiOperation operation, OperationFilterContext context) { - if (operation == null) - { - throw new ArgumentNullException(nameof(operation)); - } - - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } + ArgumentNullException.ThrowIfNull(operation); + ArgumentNullException.ThrowIfNull(context); operation.Parameters ??= new List(); diff --git a/src/Api/Holefeeder.Application/Context/BudgetingContext.cs b/src/Api/Holefeeder.Application/Context/BudgetingContext.cs index f77d73da..319adb77 100644 --- a/src/Api/Holefeeder.Application/Context/BudgetingContext.cs +++ b/src/Api/Holefeeder.Application/Context/BudgetingContext.cs @@ -74,10 +74,7 @@ public async Task RollbackWorkAsync(CancellationToken cancellationToken) protected override void OnModelCreating(ModelBuilder modelBuilder) { - if (modelBuilder == null) - { - throw new ArgumentNullException(nameof(modelBuilder)); - } + ArgumentNullException.ThrowIfNull(modelBuilder); new CategoryEntityTypeConfiguration().Configure(modelBuilder.Entity()); new AccountEntityTypeConfiguration().Configure(modelBuilder.Entity()); diff --git a/src/Api/Holefeeder.Application/Features/Accounts/AccountMapper.cs b/src/Api/Holefeeder.Application/Features/Accounts/AccountMapper.cs index 5117169c..d1a22120 100644 --- a/src/Api/Holefeeder.Application/Features/Accounts/AccountMapper.cs +++ b/src/Api/Holefeeder.Application/Features/Accounts/AccountMapper.cs @@ -34,7 +34,7 @@ public static AccountViewModel MapToAccountViewModel(Account entity) => entity.Transactions.Count, entity.OpenBalance + entity.Transactions.Sum(x => x.Amount * x.Category?.Type.Multiplier * entity.Type.Multiplier ?? 0), - entity.Transactions.Any() ? entity.Transactions.Max(x => x.Date) : entity.OpenDate, + entity.Transactions.Count > 0 ? entity.Transactions.Max(x => x.Date) : entity.OpenDate, entity.Description, entity.Favorite, entity.Inactive); diff --git a/src/Api/Holefeeder.Application/Features/MyData/Commands/ImportData.cs b/src/Api/Holefeeder.Application/Features/MyData/Commands/ImportData.cs index 305998c5..f0b11b07 100644 --- a/src/Api/Holefeeder.Application/Features/MyData/Commands/ImportData.cs +++ b/src/Api/Holefeeder.Application/Features/MyData/Commands/ImportData.cs @@ -100,7 +100,7 @@ private void UpdateProgress(Guid requestId, ImportDataStatusDto response) => private async Task ImportAccountsAsync(InternalRequest request, CancellationToken cancellationToken) { - if (!request.Data.Accounts.Any()) + if (request.Data.Accounts.Length == 0) { return; } @@ -172,7 +172,7 @@ private async Task ImportAccountsAsync(InternalRequest request, CancellationToke private async Task ImportCategoriesAsync(InternalRequest request, CancellationToken cancellationToken) { - if (!request.Data.Categories.Any()) + if (request.Data.Categories.Length == 0) { return; } @@ -241,7 +241,7 @@ private async Task ImportCategoriesAsync(InternalRequest request, CancellationTo private async Task ImportCashflowsAsync(InternalRequest request, CancellationToken cancellationToken) { - if (!request.Data.Cashflows.Any()) + if (request.Data.Cashflows.Length == 0) { return; } @@ -319,7 +319,7 @@ private async Task ImportCashflowsAsync(InternalRequest request, CancellationTok private async Task ImportTransactionsAsync(InternalRequest request, CancellationToken cancellationToken) { - if (!request.Data.Transactions.Any()) + if (request.Data.Transactions.Length == 0) { return; } @@ -399,10 +399,10 @@ public Validator() => RuleFor(command => command.Data) .NotNull() .Must(data => - data.Accounts.Any() || - data.Categories.Any() || - data.Cashflows.Any() || - data.Transactions.Any()) + data.Accounts.Length > 0 || + data.Categories.Length > 0 || + data.Cashflows.Length > 0 || + data.Transactions.Length > 0) .WithMessage("must contain at least 1 array of accounts|categories|cashflows|transactions"); } diff --git a/src/Api/Holefeeder.Application/Features/Tags/Queries/GetTagsWithCount.Handler.cs b/src/Api/Holefeeder.Application/Features/Tags/Queries/GetTagsWithCount.Handler.cs index c0de8a98..a4692400 100644 --- a/src/Api/Holefeeder.Application/Features/Tags/Queries/GetTagsWithCount.Handler.cs +++ b/src/Api/Holefeeder.Application/Features/Tags/Queries/GetTagsWithCount.Handler.cs @@ -27,7 +27,7 @@ public async Task> Handle(Request request, CancellationToken .ToListAsync(cancellationToken: cancellationToken); var results = transactions.SelectMany(transaction => transaction.Tags, - (transaction, tag) => new { Tag = tag }) + (_, tag) => new { Tag = tag }) .GroupBy(x => new { x.Tag }) .Select(group => new TagDto(group.Key.Tag, group.Count())) .OrderByDescending(x => x.Count); diff --git a/src/Api/Holefeeder.Application/Features/Tags/Queries/GetTagsWithCount.Request.cs b/src/Api/Holefeeder.Application/Features/Tags/Queries/GetTagsWithCount.Request.cs index c9f98f98..85d3f282 100644 --- a/src/Api/Holefeeder.Application/Features/Tags/Queries/GetTagsWithCount.Request.cs +++ b/src/Api/Holefeeder.Application/Features/Tags/Queries/GetTagsWithCount.Request.cs @@ -5,5 +5,5 @@ namespace Holefeeder.Application.Features.Tags.Queries; public partial class GetTagsWithCount { - internal partial record Request() : IRequest>; + internal record Request : IRequest>; } diff --git a/src/Api/Holefeeder.Application/Features/Transactions/Commands/Transfer.cs b/src/Api/Holefeeder.Application/Features/Transactions/Commands/Transfer.cs index a5b5ecaa..3507ca0a 100644 --- a/src/Api/Holefeeder.Application/Features/Transactions/Commands/Transfer.cs +++ b/src/Api/Holefeeder.Application/Features/Transactions/Commands/Transfer.cs @@ -81,13 +81,13 @@ public Handler(IUserContext userContext, BudgetingContext context) await _context.Transactions.AddAsync(transactionTo, cancellationToken); - if (errors.Any()) + if (errors.Count > 0) { throw new ValidationException("Transfer error", errors.Select(x => new ValidationFailure(x.Item1, x.Item2))); } - return errors.Any() ? (Guid.Empty, Guid.Empty) : (transactionFrom.Id, transactionTo.Id); + return errors.Count > 0 ? (Guid.Empty, Guid.Empty) : (transactionFrom.Id, transactionTo.Id); } private async Task FirstCategoryAsync(string categoryName, CancellationToken cancellationToken) => diff --git a/src/Api/Holefeeder.Domain/Features/Accounts/Account.cs b/src/Api/Holefeeder.Domain/Features/Accounts/Account.cs index 3e031365..b764c45b 100644 --- a/src/Api/Holefeeder.Domain/Features/Accounts/Account.cs +++ b/src/Api/Holefeeder.Domain/Features/Accounts/Account.cs @@ -98,7 +98,7 @@ public Account Close() throw new AccountDomainException("Account already closed"); } - if (Cashflows.Any()) + if (Cashflows.Count > 0) { throw new AccountDomainException("Account has active cashflows"); } @@ -109,5 +109,5 @@ public Account Close() public decimal CalculateBalance() => OpenBalance + Transactions.Sum(t => t.Amount * t.Category!.Type.Multiplier * Type.Multiplier); - public DateOnly CalculateLastTransactionDate() => Transactions.Any() ? Transactions.Max(t => t.Date) : OpenDate; + public DateOnly CalculateLastTransactionDate() => Transactions.Count > 0 ? Transactions.Max(t => t.Date) : OpenDate; } diff --git a/src/Api/Holefeeder.Domain/Features/Transactions/Cashflow.cs b/src/Api/Holefeeder.Domain/Features/Transactions/Cashflow.cs index 538b4058..f3100a83 100644 --- a/src/Api/Holefeeder.Domain/Features/Transactions/Cashflow.cs +++ b/src/Api/Holefeeder.Domain/Features/Transactions/Cashflow.cs @@ -126,7 +126,7 @@ public required Guid CategoryId public IReadOnlyCollection Transactions { get; init; } = new List(); - public DateOnly? LastPaidDate => Transactions.Any() ? Transactions.Max(x => x.Date) : null; + public DateOnly? LastPaidDate => Transactions.Count > 0 ? Transactions.Max(x => x.Date) : null; public DateOnly? LastCashflowDate => Transactions.Max(x => x.CashflowDate); diff --git a/src/Api/Holefeeder.FunctionalTests/Features/BaseFeature.cs b/src/Api/Holefeeder.FunctionalTests/Features/BaseFeature.cs index 279d07f9..a32eb9b6 100644 --- a/src/Api/Holefeeder.FunctionalTests/Features/BaseFeature.cs +++ b/src/Api/Holefeeder.FunctionalTests/Features/BaseFeature.cs @@ -18,13 +18,7 @@ public class BaseFeature : FeatureFixture protected BaseFeature(ApiApplicationDriver apiApplicationDriver, ITestOutputHelper testOutputHelper) : base(testOutputHelper) { - if (apiApplicationDriver == null) - { - throw new ArgumentNullException(nameof(apiApplicationDriver)); - } - - // Scope = apiApplicationDriver.Services.CreateScope(); - + ArgumentNullException.ThrowIfNull(apiApplicationDriver); HttpClientDriver = apiApplicationDriver.CreateHttpClientDriver(testOutputHelper); } diff --git a/src/Api/Holefeeder.FunctionalTests/Features/StoreItems/ScenarioStoreItem.cs b/src/Api/Holefeeder.FunctionalTests/Features/StoreItems/ScenarioStoreItem.cs index 400a3557..616c32da 100644 --- a/src/Api/Holefeeder.FunctionalTests/Features/StoreItems/ScenarioStoreItem.cs +++ b/src/Api/Holefeeder.FunctionalTests/Features/StoreItems/ScenarioStoreItem.cs @@ -1,7 +1,5 @@ using Holefeeder.FunctionalTests.Drivers; using Holefeeder.FunctionalTests.StepDefinitions; -using CreateRequest = Holefeeder.Application.Features.StoreItems.Commands.CreateStoreItem.Request; -using ModifyRequest = Holefeeder.Application.Features.StoreItems.Commands.ModifyStoreItem.Request; namespace Holefeeder.FunctionalTests.Features.StoreItems; diff --git a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioDeleteTransaction.cs b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioDeleteTransaction.cs index 547025e0..d277b3da 100644 --- a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioDeleteTransaction.cs +++ b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioDeleteTransaction.cs @@ -20,10 +20,6 @@ public class ScenarioDeleteTransaction : HolefeederScenario public ScenarioDeleteTransaction(ApiApplicationDriver applicationDriver, ITestOutputHelper testOutputHelper) : base(applicationDriver, testOutputHelper) { - if (applicationDriver == null) - { - throw new ArgumentNullException(nameof(applicationDriver)); - } } [Fact] diff --git a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioMakePurchase.cs b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioMakePurchase.cs index a4504520..e9e209f7 100644 --- a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioMakePurchase.cs +++ b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioMakePurchase.cs @@ -16,10 +16,6 @@ public sealed class ScenarioMakePurchase : HolefeederScenario public ScenarioMakePurchase(ApiApplicationDriver applicationDriver, ITestOutputHelper testOutputHelper) : base(applicationDriver, testOutputHelper) { - if (applicationDriver == null) - { - throw new ArgumentNullException(nameof(applicationDriver)); - } } [Fact] diff --git a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioModifyCashflow.cs b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioModifyCashflow.cs index 72794be0..b2060205 100644 --- a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioModifyCashflow.cs +++ b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioModifyCashflow.cs @@ -21,10 +21,6 @@ public class ScenarioModifyCashflow : HolefeederScenario public ScenarioModifyCashflow(ApiApplicationDriver applicationDriver, ITestOutputHelper testOutputHelper) : base(applicationDriver, testOutputHelper) { - if (applicationDriver == null) - { - throw new ArgumentNullException(nameof(applicationDriver)); - } } [Fact] diff --git a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioModifyTransaction.cs b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioModifyTransaction.cs index 0fc0541a..5f53853c 100644 --- a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioModifyTransaction.cs +++ b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioModifyTransaction.cs @@ -21,10 +21,6 @@ public class ScenarioModifyTransaction : HolefeederScenario public ScenarioModifyTransaction(ApiApplicationDriver applicationDriver, ITestOutputHelper testOutputHelper) : base(applicationDriver, testOutputHelper) { - if (applicationDriver == null) - { - throw new ArgumentNullException(nameof(applicationDriver)); - } } [Fact] diff --git a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioPayCashflow.cs b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioPayCashflow.cs index e4a542c9..ef65981a 100644 --- a/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioPayCashflow.cs +++ b/src/Api/Holefeeder.FunctionalTests/Features/Transactions/ScenarioPayCashflow.cs @@ -19,10 +19,6 @@ public sealed class ScenarioPayCashflow : HolefeederScenario public ScenarioPayCashflow(ApiApplicationDriver applicationDriver, ITestOutputHelper testOutputHelper) : base(applicationDriver, testOutputHelper) { - if (applicationDriver == null) - { - throw new ArgumentNullException(nameof(applicationDriver)); - } } [Fact] diff --git a/src/Api/Holefeeder.FunctionalTests/StepDefinitions/TransactionStepDefinition.cs b/src/Api/Holefeeder.FunctionalTests/StepDefinitions/TransactionStepDefinition.cs index 2813a730..21fb3ada 100644 --- a/src/Api/Holefeeder.FunctionalTests/StepDefinitions/TransactionStepDefinition.cs +++ b/src/Api/Holefeeder.FunctionalTests/StepDefinitions/TransactionStepDefinition.cs @@ -14,10 +14,7 @@ public TransactionStepDefinition(IHttpClientDriver httpClientDriver) : base(http internal async Task MakesPurchase(MakePurchase.Request request) { - if (request == null) - { - throw new ArgumentNullException(nameof(request)); - } + ArgumentNullException.ThrowIfNull(request); string json = JsonSerializer.Serialize(request); await HttpClientDriver.SendPostRequestAsync(ApiResources.MakePurchase, json); @@ -25,10 +22,7 @@ internal async Task MakesPurchase(MakePurchase.Request request) internal async Task PayACashflow(PayCashflow.Request request) { - if (request == null) - { - throw new ArgumentNullException(nameof(request)); - } + ArgumentNullException.ThrowIfNull(request); string json = JsonSerializer.Serialize(request); await HttpClientDriver.SendPostRequestAsync(ApiResources.PayCashflow, json); diff --git a/src/Api/Holefeeder.Infrastructure/Extensions/ServiceCollectionExtensions.cs b/src/Api/Holefeeder.Infrastructure/Extensions/ServiceCollectionExtensions.cs index b39925d2..ed4a929f 100644 --- a/src/Api/Holefeeder.Infrastructure/Extensions/ServiceCollectionExtensions.cs +++ b/src/Api/Holefeeder.Infrastructure/Extensions/ServiceCollectionExtensions.cs @@ -15,10 +15,7 @@ public static class ServiceCollectionExtensions public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration) { - if (configuration is null) - { - throw new ArgumentNullException(nameof(configuration)); - } + ArgumentNullException.ThrowIfNull(configuration); services.AddSingleton(_ => new BudgetingConnectionStringBuilder { diff --git a/src/Api/Holefeeder.Infrastructure/Extensions/WebApplicationExtensions.cs b/src/Api/Holefeeder.Infrastructure/Extensions/WebApplicationExtensions.cs index 4b81a2ec..65c3ce55 100644 --- a/src/Api/Holefeeder.Infrastructure/Extensions/WebApplicationExtensions.cs +++ b/src/Api/Holefeeder.Infrastructure/Extensions/WebApplicationExtensions.cs @@ -24,10 +24,7 @@ public static class WebApplicationExtensions public static IApplicationBuilder MigrateDb(this IApplicationBuilder app) { - if (app is null) - { - throw new ArgumentNullException(nameof(app)); - } + ArgumentNullException.ThrowIfNull(app); using IServiceScope scope = app.ApplicationServices.CreateScope(); diff --git a/src/Api/Holefeeder.UnitTests/Application/Features/Accounts/Queries/GetAccountsTests.cs b/src/Api/Holefeeder.UnitTests/Application/Features/Accounts/Queries/GetAccountsTests.cs index 0dbbb7a2..36d2d432 100644 --- a/src/Api/Holefeeder.UnitTests/Application/Features/Accounts/Queries/GetAccountsTests.cs +++ b/src/Api/Holefeeder.UnitTests/Application/Features/Accounts/Queries/GetAccountsTests.cs @@ -11,7 +11,8 @@ public class GetAccountsTests public GetAccountsTests() => _faker = new Faker() - .CustomInstantiator(faker => new Request(faker.Random.Number(), faker.Random.Int(1), Array.Empty(), Array.Empty())) + .CustomInstantiator(faker => new Request(faker.Random.Number(), faker.Random.Int(1), Array.Empty(), + Array.Empty())) .RuleFor(fake => fake.Offset, fake => fake.Random.Number()) .RuleFor(fake => fake.Limit, fake => fake.Random.Int(1)) .RuleFor(fake => fake.Sort, Array.Empty()) @@ -30,7 +31,9 @@ public async Task GivenRequest_WhenBindingFromHttpContext_ThenReturnRequest() Request? result = await Request.BindAsync(httpContext, null!); // assert - result.Should().BeEquivalentTo(new Request(10, 100, new[] { "data" }, new[] { "code:eq:settings" })); + string[] sort = new[] { "data" }; + string[] filter = new[] { "code:eq:settings" }; + result.Should().BeEquivalentTo(new Request(10, 100, sort, filter)); } [Fact] diff --git a/src/Api/Holefeeder.UnitTests/Application/Features/StoreItems/Queries/GetStoreItemsTests.cs b/src/Api/Holefeeder.UnitTests/Application/Features/StoreItems/Queries/GetStoreItemsTests.cs index 4ddb806f..fc224660 100644 --- a/src/Api/Holefeeder.UnitTests/Application/Features/StoreItems/Queries/GetStoreItemsTests.cs +++ b/src/Api/Holefeeder.UnitTests/Application/Features/StoreItems/Queries/GetStoreItemsTests.cs @@ -41,7 +41,9 @@ public async Task GivenRequest_WhenBindingFromHttpContext_ThenReturnRequest() Request? result = await Request.BindAsync(httpContext, null!); // assert - result.Should().BeEquivalentTo(new Request(10, 100, new[] { "data" }, new[] { "code:eq:settings" })); + string[] sort = new[] { "data" }; + string[] filter = new[] { "code:eq:settings" }; + result.Should().BeEquivalentTo(new Request(10, 100, sort, filter)); } [Fact] diff --git a/src/Api/Holefeeder.UnitTests/Application/Features/Transactions/Queries/GetCashflowsTests.cs b/src/Api/Holefeeder.UnitTests/Application/Features/Transactions/Queries/GetCashflowsTests.cs index 80c79abd..eb25a227 100644 --- a/src/Api/Holefeeder.UnitTests/Application/Features/Transactions/Queries/GetCashflowsTests.cs +++ b/src/Api/Holefeeder.UnitTests/Application/Features/Transactions/Queries/GetCashflowsTests.cs @@ -28,7 +28,9 @@ public async Task GivenRequest_WhenBindingFromHttpContext_ThenReturnRequest() Request? result = await Request.BindAsync(httpContext, null!); // assert - result.Should().BeEquivalentTo(new Request(10, 100, new[] { "data" }, new[] { "code:eq:settings" })); + string[] sort = new[] { "data" }; + string[] filter = new[] { "code:eq:settings" }; + result.Should().BeEquivalentTo(new Request(10, 100, sort, filter)); } [Fact] diff --git a/src/Api/Holefeeder.UnitTests/Application/Features/Transactions/Queries/GetTransactionsTests.cs b/src/Api/Holefeeder.UnitTests/Application/Features/Transactions/Queries/GetTransactionsTests.cs index 58985584..c498b0e8 100644 --- a/src/Api/Holefeeder.UnitTests/Application/Features/Transactions/Queries/GetTransactionsTests.cs +++ b/src/Api/Holefeeder.UnitTests/Application/Features/Transactions/Queries/GetTransactionsTests.cs @@ -31,7 +31,9 @@ public async Task GivenRequest_WhenBindingFromHttpContext_ThenReturnRequest() Request? result = await Request.BindAsync(httpContext, null!); // assert - result.Should().BeEquivalentTo(new Request(10, 100, new[] { "data" }, new[] { "code:eq:settings" })); + string[] sort = new[] { "data" }; + string[] filter = new[] { "code:eq:settings" }; + result.Should().BeEquivalentTo(new Request(10, 100, sort, filter)); } [Fact] diff --git a/src/Api/Holefeeder.UnitTests/Domain/Enumerations/DateIntervalTypeTests.cs b/src/Api/Holefeeder.UnitTests/Domain/Enumerations/DateIntervalTypeTests.cs index 56689a9d..dff0f27a 100644 --- a/src/Api/Holefeeder.UnitTests/Domain/Enumerations/DateIntervalTypeTests.cs +++ b/src/Api/Holefeeder.UnitTests/Domain/Enumerations/DateIntervalTypeTests.cs @@ -421,10 +421,7 @@ public static IEnumerable DatesInRangeTestCases public void NextDate_ValidDateOnly_NewDateOnly(DateOnly originalDate, DateOnly effectiveDate, DateIntervalType intervalType, int frequency, DateOnly expected) { - if (intervalType is null) - { - throw new ArgumentNullException(nameof(intervalType)); - } + ArgumentNullException.ThrowIfNull(intervalType); intervalType.NextDate(originalDate, effectiveDate, frequency).Should().Be(expected); } @@ -434,10 +431,7 @@ public void NextDate_ValidDateOnly_NewDateOnly(DateOnly originalDate, DateOnly e public void PreviousDate_ValidDateOnly_NewDateOnly(DateOnly originalDate, DateOnly effectiveDate, DateIntervalType intervalType, int frequency, DateOnly expected) { - if (intervalType is null) - { - throw new ArgumentNullException(nameof(intervalType)); - } + ArgumentNullException.ThrowIfNull(intervalType); intervalType.PreviousDate(originalDate, effectiveDate, frequency).Should().Be(expected); } @@ -447,10 +441,7 @@ public void PreviousDate_ValidDateOnly_NewDateOnly(DateOnly originalDate, DateOn public void TestInterval(DateOnly originalDate, DateOnly effectiveDate, DateIntervalType intervalType, int frequency, (DateOnly From, DateOnly To) expected) { - if (intervalType is null) - { - throw new ArgumentNullException(nameof(intervalType)); - } + ArgumentNullException.ThrowIfNull(intervalType); intervalType.Interval(originalDate, effectiveDate, frequency).Should().BeEquivalentTo(expected); } @@ -460,10 +451,7 @@ public void TestInterval(DateOnly originalDate, DateOnly effectiveDate, DateInte public void GivenDatesInRange_WhenValidDateOnly_ThenListOfDatesInRange(DateIntervalType intervalType, int frequency, DateOnly effective, DateOnly from, DateOnly to, DateOnly[] expected) { - if (intervalType is null) - { - throw new ArgumentNullException(nameof(intervalType)); - } + ArgumentNullException.ThrowIfNull(intervalType); intervalType.DatesInRange(effective, from, to, frequency).Should().Equal(expected); } diff --git a/src/Web/Holefeeder.Web/Program.cs b/src/Web/Holefeeder.Web/Program.cs index 94422d29..3b2efa2b 100644 --- a/src/Web/Holefeeder.Web/Program.cs +++ b/src/Web/Holefeeder.Web/Program.cs @@ -40,8 +40,8 @@ builder.Services .AddCarter(configurator: configurator => configurator.WithEmptyValidators()); -builder.Services.AddHealthChecks() - .AddCheck("web", () => HealthCheckResult.Healthy(), new[] { "holefeeder", "web", "service" }); +var tags = new[] { "holefeeder", "web", "service" }; +builder.Services.AddHealthChecks().AddCheck("web", () => HealthCheckResult.Healthy(), tags); builder.Services.AddAuthorization(options => {