From e5a9b44d3f78510366098d22604b9585750cc1e0 Mon Sep 17 00:00:00 2001 From: Josep Date: Fri, 29 Aug 2025 16:46:09 -0500 Subject: [PATCH] Refactors: Removes unused global usings Removes unused global usings and unnecessary dependencies from several projects. --- src/Basket.API/GlobalUsings.cs | 1 - src/Basket.API/Grpc/BasketService.cs | 1 - src/Catalog.API/Apis/CatalogApi.cs | 1 - .../Infrastructure/CatalogContextSeed.cs | 2 -- src/Catalog.API/Model/PaginatedItems.cs | 4 +--- src/Catalog.API/Services/CatalogAI.cs | 4 +--- .../Commands/CreateOrderCommandHandler.cs | 8 +------- src/Ordering.API/GlobalUsings.cs | 4 +--- src/Ordering.Domain/GlobalUsings.cs | 3 +-- src/Ordering.Infrastructure/GlobalUsings.cs | 1 - .../Services/ICatalogService.cs | 4 +--- src/WebhookClient/Services/WebhookData.cs | 4 +--- tests/Basket.UnitTests/GlobalUsings.cs | 1 - .../CatalogApiFixture.cs | 3 +-- tests/Catalog.FunctionalTests/GlobalUsings.cs | 6 +----- tests/Ordering.FunctionalTests/GlobalUsings.cs | 4 +--- .../OrderingApiTests.cs | 18 +++++++++++------- tests/Ordering.UnitTests/GlobalUsings.cs | 2 -- 18 files changed, 21 insertions(+), 50 deletions(-) diff --git a/src/Basket.API/GlobalUsings.cs b/src/Basket.API/GlobalUsings.cs index 6631d191a..fe3018393 100644 --- a/src/Basket.API/GlobalUsings.cs +++ b/src/Basket.API/GlobalUsings.cs @@ -1,5 +1,4 @@ global using System.ComponentModel.DataAnnotations; -global using System.Security.Claims; global using System.Text.Json; global using Grpc.Core; global using Microsoft.AspNetCore.Authorization; diff --git a/src/Basket.API/Grpc/BasketService.cs b/src/Basket.API/Grpc/BasketService.cs index 3f1deda67..a85106169 100644 --- a/src/Basket.API/Grpc/BasketService.cs +++ b/src/Basket.API/Grpc/BasketService.cs @@ -1,6 +1,5 @@ using System.Diagnostics.CodeAnalysis; using eShop.Basket.API.Repositories; -using eShop.Basket.API.Extensions; using eShop.Basket.API.Model; namespace eShop.Basket.API.Grpc; diff --git a/src/Catalog.API/Apis/CatalogApi.cs b/src/Catalog.API/Apis/CatalogApi.cs index 69a1a5220..05c9f74a7 100644 --- a/src/Catalog.API/Apis/CatalogApi.cs +++ b/src/Catalog.API/Apis/CatalogApi.cs @@ -2,7 +2,6 @@ using System.ComponentModel.DataAnnotations; using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.Infrastructure; using Pgvector.EntityFrameworkCore; namespace eShop.Catalog.API; diff --git a/src/Catalog.API/Infrastructure/CatalogContextSeed.cs b/src/Catalog.API/Infrastructure/CatalogContextSeed.cs index 0033e79eb..f9f21f674 100644 --- a/src/Catalog.API/Infrastructure/CatalogContextSeed.cs +++ b/src/Catalog.API/Infrastructure/CatalogContextSeed.cs @@ -12,9 +12,7 @@ public partial class CatalogContextSeed( { public async Task SeedAsync(CatalogContext context) { - var useCustomizationData = settings.Value.UseCustomizationData; var contentRootPath = env.ContentRootPath; - var picturePath = env.WebRootPath; // Workaround from https://github.com/npgsql/efcore.pg/issues/292#issuecomment-388608426 context.Database.OpenConnection(); diff --git a/src/Catalog.API/Model/PaginatedItems.cs b/src/Catalog.API/Model/PaginatedItems.cs index 1f01e84df..0ceca8412 100644 --- a/src/Catalog.API/Model/PaginatedItems.cs +++ b/src/Catalog.API/Model/PaginatedItems.cs @@ -1,6 +1,4 @@ -using System.Text.Json.Serialization; - -namespace eShop.Catalog.API.Model; +namespace eShop.Catalog.API.Model; public class PaginatedItems(int pageIndex, int pageSize, long count, IEnumerable data) where TEntity : class { diff --git a/src/Catalog.API/Services/CatalogAI.cs b/src/Catalog.API/Services/CatalogAI.cs index f4feebab7..e967cff3d 100644 --- a/src/Catalog.API/Services/CatalogAI.cs +++ b/src/Catalog.API/Services/CatalogAI.cs @@ -10,14 +10,12 @@ public sealed class CatalogAI : ICatalogAI private readonly IEmbeddingGenerator> _embeddingGenerator; /// The web host environment. - private readonly IWebHostEnvironment _environment; /// Logger for use in AI operations. private readonly ILogger _logger; - public CatalogAI(IWebHostEnvironment environment, ILogger logger, IEmbeddingGenerator> embeddingGenerator = null) + public CatalogAI(ILogger logger, IEmbeddingGenerator> embeddingGenerator = null) { _embeddingGenerator = embeddingGenerator; - _environment = environment; _logger = logger; } diff --git a/src/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs b/src/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs index 8a0365ee0..3b2cfaea3 100644 --- a/src/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs +++ b/src/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs @@ -7,21 +7,15 @@ public class CreateOrderCommandHandler : IRequestHandler { private readonly IOrderRepository _orderRepository; - private readonly IIdentityService _identityService; - private readonly IMediator _mediator; private readonly IOrderingIntegrationEventService _orderingIntegrationEventService; private readonly ILogger _logger; // Using DI to inject infrastructure persistence Repositories - public CreateOrderCommandHandler(IMediator mediator, - IOrderingIntegrationEventService orderingIntegrationEventService, + public CreateOrderCommandHandler(IOrderingIntegrationEventService orderingIntegrationEventService, IOrderRepository orderRepository, - IIdentityService identityService, ILogger logger) { _orderRepository = orderRepository ?? throw new ArgumentNullException(nameof(orderRepository)); - _identityService = identityService ?? throw new ArgumentNullException(nameof(identityService)); - _mediator = mediator ?? throw new ArgumentNullException(nameof(mediator)); _orderingIntegrationEventService = orderingIntegrationEventService ?? throw new ArgumentNullException(nameof(orderingIntegrationEventService)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); } diff --git a/src/Ordering.API/GlobalUsings.cs b/src/Ordering.API/GlobalUsings.cs index 826e9e533..6b628ebff 100644 --- a/src/Ordering.API/GlobalUsings.cs +++ b/src/Ordering.API/GlobalUsings.cs @@ -1,5 +1,4 @@ -global using Asp.Versioning.Conventions; -global using System.Runtime.Serialization; +global using System.Runtime.Serialization; global using FluentValidation; global using MediatR; global using Microsoft.AspNetCore.Mvc; @@ -23,7 +22,6 @@ global using eShop.Ordering.Domain.AggregatesModel.OrderAggregate; global using eShop.Ordering.Domain.Events; global using eShop.Ordering.Domain.Exceptions; -global using eShop.Ordering.Domain.SeedWork; global using eShop.Ordering.Infrastructure; global using eShop.Ordering.Infrastructure.Idempotency; global using eShop.Ordering.Infrastructure.Repositories; diff --git a/src/Ordering.Domain/GlobalUsings.cs b/src/Ordering.Domain/GlobalUsings.cs index 6a70c9b24..c296b6025 100644 --- a/src/Ordering.Domain/GlobalUsings.cs +++ b/src/Ordering.Domain/GlobalUsings.cs @@ -1,5 +1,4 @@ -global using System.Reflection; -global using eShop.Ordering.Domain.Exceptions; +global using eShop.Ordering.Domain.Exceptions; global using MediatR; global using eShop.Ordering.Domain.AggregatesModel.BuyerAggregate; global using eShop.Ordering.Domain.AggregatesModel.OrderAggregate; diff --git a/src/Ordering.Infrastructure/GlobalUsings.cs b/src/Ordering.Infrastructure/GlobalUsings.cs index acf0deea5..546887c69 100644 --- a/src/Ordering.Infrastructure/GlobalUsings.cs +++ b/src/Ordering.Infrastructure/GlobalUsings.cs @@ -1,7 +1,6 @@ global using System.Data; global using MediatR; global using Microsoft.EntityFrameworkCore; -global using Microsoft.EntityFrameworkCore.Design; global using Microsoft.EntityFrameworkCore.Metadata.Builders; global using Microsoft.EntityFrameworkCore.Storage; global using eShop.Ordering.Domain.AggregatesModel.BuyerAggregate; diff --git a/src/WebAppComponents/Services/ICatalogService.cs b/src/WebAppComponents/Services/ICatalogService.cs index f41afc1e0..777f1e4d4 100644 --- a/src/WebAppComponents/Services/ICatalogService.cs +++ b/src/WebAppComponents/Services/ICatalogService.cs @@ -1,6 +1,4 @@ -using System.Collections.Generic; -using System.Threading.Tasks; -using eShop.WebAppComponents.Catalog; +using eShop.WebAppComponents.Catalog; namespace eShop.WebAppComponents.Services { diff --git a/src/WebhookClient/Services/WebhookData.cs b/src/WebhookClient/Services/WebhookData.cs index fcfc0849c..3ca4d4185 100644 --- a/src/WebhookClient/Services/WebhookData.cs +++ b/src/WebhookClient/Services/WebhookData.cs @@ -1,6 +1,4 @@ -using System.Text.Json; - -namespace eShop.WebhookClient.Services; +namespace eShop.WebhookClient.Services; public class WebhookData { diff --git a/tests/Basket.UnitTests/GlobalUsings.cs b/tests/Basket.UnitTests/GlobalUsings.cs index 66d5613a6..eb92d8c35 100644 --- a/tests/Basket.UnitTests/GlobalUsings.cs +++ b/tests/Basket.UnitTests/GlobalUsings.cs @@ -1,6 +1,5 @@ global using System.Collections.Generic; global using System.Threading.Tasks; global using Microsoft.AspNetCore.Http; -global using Microsoft.AspNetCore.Mvc; global using NSubstitute; global using Microsoft.VisualStudio.TestTools.UnitTesting; diff --git a/tests/Catalog.FunctionalTests/CatalogApiFixture.cs b/tests/Catalog.FunctionalTests/CatalogApiFixture.cs index 2471477ef..43989e211 100644 --- a/tests/Catalog.FunctionalTests/CatalogApiFixture.cs +++ b/tests/Catalog.FunctionalTests/CatalogApiFixture.cs @@ -1,5 +1,4 @@ -using System.Reflection; -using Microsoft.AspNetCore.Mvc.Testing; +using Microsoft.AspNetCore.Mvc.Testing; namespace eShop.Catalog.FunctionalTests; diff --git a/tests/Catalog.FunctionalTests/GlobalUsings.cs b/tests/Catalog.FunctionalTests/GlobalUsings.cs index 58dbf6ade..c091157dc 100644 --- a/tests/Catalog.FunctionalTests/GlobalUsings.cs +++ b/tests/Catalog.FunctionalTests/GlobalUsings.cs @@ -1,8 +1,4 @@ -global using System.IO; -global using System.Net; -global using System.Threading.Tasks; -global using Microsoft.AspNetCore.Hosting; -global using Microsoft.AspNetCore.TestHost; +global using System.Threading.Tasks; global using Microsoft.Extensions.Configuration; global using Microsoft.Extensions.Hosting; global using Xunit; diff --git a/tests/Ordering.FunctionalTests/GlobalUsings.cs b/tests/Ordering.FunctionalTests/GlobalUsings.cs index 9ce089152..0cbac861d 100644 --- a/tests/Ordering.FunctionalTests/GlobalUsings.cs +++ b/tests/Ordering.FunctionalTests/GlobalUsings.cs @@ -1,10 +1,8 @@ -global using System.IO; -global using System.Net.Http; +global using System.Net.Http; global using System.Security.Claims; global using Microsoft.AspNetCore.Builder; global using Microsoft.AspNetCore.Hosting; global using Microsoft.AspNetCore.Http; -global using Microsoft.AspNetCore.TestHost; global using Microsoft.Extensions.Configuration; global using Microsoft.Extensions.DependencyInjection; global using Xunit; diff --git a/tests/Ordering.FunctionalTests/OrderingApiTests.cs b/tests/Ordering.FunctionalTests/OrderingApiTests.cs index ee149c2ce..ca63d0ba5 100644 --- a/tests/Ordering.FunctionalTests/OrderingApiTests.cs +++ b/tests/Ordering.FunctionalTests/OrderingApiTests.cs @@ -126,7 +126,6 @@ public async Task AddNewEmptyOrder() Headers = { { "x-requestid", Guid.Empty.ToString() } } }; var response = await _httpClient.PostAsync("api/orders", content); - var s = await response.Content.ReadAsStringAsync(); // Assert Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); @@ -147,14 +146,12 @@ public async Task AddNewOrder() PictureUrl = null }; var cardExpirationDate = Convert.ToDateTime("2023-12-22T12:34:24.334Z"); - var OrderRequest = new CreateOrderRequest("1", "TestUser", null, null, null, null, null, "XXXXXXXXXXXX0005", "Test User", cardExpirationDate, "test buyer", 1, null, new List { item }); - var content = new StringContent(JsonSerializer.Serialize(OrderRequest), UTF8Encoding.UTF8, "application/json") + var orderRequest = new CreateOrderRequest("1", "TestUser", null, null, null, null, null, "XXXXXXXXXXXX0005", "Test User", cardExpirationDate, "test buyer", 1, null, new List { item }); + var content = new StringContent(JsonSerializer.Serialize(orderRequest), UTF8Encoding.UTF8, "application/json") { Headers = { { "x-requestid", Guid.NewGuid().ToString() } } }; var response = await _httpClient.PostAsync("api/orders", content); - var s = await response.Content.ReadAsStringAsync(); - // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); } @@ -173,16 +170,23 @@ public async Task PostDraftOrder() Quantity = 1, PictureUrl = null }; - var bodyContent = new CustomerBasket("1", new List { item }); + var basketItems = new List { item }; + var bodyContent = new CustomerBasket("1", basketItems); var content = new StringContent(JsonSerializer.Serialize(bodyContent), UTF8Encoding.UTF8, "application/json") { Headers = { { "x-requestid", Guid.NewGuid().ToString() } } }; var response = await _httpClient.PostAsync("api/orders/draft", content); var s = await response.Content.ReadAsStringAsync(); - + var responseData = JsonSerializer.Deserialize(s, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.Equal(responseData.OrderItems.Count(), basketItems.Count); + var orderItem = responseData.OrderItems.First(); + Assert.Equal(orderItem.ProductId, item.ProductId); + Assert.Equal(orderItem.ProductName, item.ProductName); + Assert.Equal(orderItem.UnitPrice, item.UnitPrice); + Assert.Equal(orderItem.Units, item.Quantity); } [Fact] diff --git a/tests/Ordering.UnitTests/GlobalUsings.cs b/tests/Ordering.UnitTests/GlobalUsings.cs index 645c7e329..a60e7d9fd 100644 --- a/tests/Ordering.UnitTests/GlobalUsings.cs +++ b/tests/Ordering.UnitTests/GlobalUsings.cs @@ -1,5 +1,4 @@ global using MediatR; -global using Microsoft.AspNetCore.Mvc; global using eShop.Ordering.API.Application.Commands; global using eShop.Ordering.API.Application.Models; global using eShop.Ordering.API.Infrastructure.Services; @@ -10,5 +9,4 @@ global using eShop.Ordering.Infrastructure.Idempotency; global using Microsoft.Extensions.Logging; global using NSubstitute; -global using eShop.Ordering.UnitTests; global using Microsoft.VisualStudio.TestTools.UnitTesting;