From 9957724c40ca34d025c2203ff4606cfca8af0c7c Mon Sep 17 00:00:00 2001 From: dmolinari Date: Sat, 18 Apr 2026 20:56:23 -0300 Subject: [PATCH] chore(tests): dotnet format sobre archivos pre-existentes (surfaced durante CAT-001) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix mecánico de whitespace detectado por dotnet format --verify-no-changes durante la verify phase de CAT-001 (PR #30). Sin cambios funcionales. --- .../Controllers/FiscalController.cs | 68 +++++++++---------- .../Common/PermisosOverride.cs | 4 +- ...eUsuarioPermisosOverridesCommandHandler.cs | 2 +- .../Fiscal/ProvinciaArgentina.cs | 46 ++++++------- src/api/SIGCM2.Domain/Permissions/Permiso.cs | 34 +++++----- .../Audit/JsonSanitizer.cs | 2 +- .../Admin/FiscalControllerTests.cs | 2 +- .../Common/PermisoResolverTests.cs | 2 +- .../Common/TempPasswordGeneratorTests.cs | 8 +-- .../Audit/JsonSanitizerTests.cs | 14 +++- .../AssignPermisosToRolCommandHandlerTests.cs | 4 +- .../List/ListTiposDeIvaQueryHandlerTests.cs | 2 +- tests/SIGCM2.TestSupport/TestWebAppFactory.cs | 24 +++---- 13 files changed, 110 insertions(+), 102 deletions(-) diff --git a/src/api/SIGCM2.Api/Controllers/FiscalController.cs b/src/api/SIGCM2.Api/Controllers/FiscalController.cs index 7fba9cb..2c6a782 100644 --- a/src/api/SIGCM2.Api/Controllers/FiscalController.cs +++ b/src/api/SIGCM2.Api/Controllers/FiscalController.cs @@ -53,12 +53,12 @@ public sealed class FiscalController : ControllerBase IValidator updateIibbValidator, IValidator nuevaVersionIibbValidator) { - _dispatcher = dispatcher; - _createIvaValidator = createIvaValidator; - _updateIvaValidator = updateIvaValidator; + _dispatcher = dispatcher; + _createIvaValidator = createIvaValidator; + _updateIvaValidator = updateIvaValidator; _nuevaVersionIvaValidator = nuevaVersionIvaValidator; - _createIibbValidator = createIibbValidator; - _updateIibbValidator = updateIibbValidator; + _createIibbValidator = createIibbValidator; + _updateIibbValidator = updateIibbValidator; _nuevaVersionIibbValidator = nuevaVersionIibbValidator; } @@ -78,15 +78,15 @@ public sealed class FiscalController : ControllerBase [FromQuery] bool? activo = null, [FromQuery] string? codigo = null) { - if (page < 1) return BadRequest(new { error = "page must be >= 1" }); + if (page < 1) return BadRequest(new { error = "page must be >= 1" }); if (pageSize < 1) return BadRequest(new { error = "pageSize must be >= 1" }); - var query = new ListTiposDeIvaQuery(page, pageSize, activo, codigo); + var query = new ListTiposDeIvaQuery(page, pageSize, activo, codigo); var result = await _dispatcher.Send>(query); return Ok(new { - Items = result.Items.Select(FiscalContractMapper.ToIvaResponse).ToList(), + Items = result.Items.Select(FiscalContractMapper.ToIvaResponse).ToList(), result.Page, result.PageSize, result.Total @@ -102,7 +102,7 @@ public sealed class FiscalController : ControllerBase [ProducesResponseType(StatusCodes.Status404NotFound)] public async Task GetIvaById([FromRoute] int id) { - var query = new GetTipoDeIvaByIdQuery(id); + var query = new GetTipoDeIvaByIdQuery(id); var result = await _dispatcher.Send(query); return Ok(FiscalContractMapper.ToIvaResponse(result)); } @@ -115,7 +115,7 @@ public sealed class FiscalController : ControllerBase [ProducesResponseType(StatusCodes.Status403Forbidden)] public async Task GetHistorialIva([FromRoute] int id) { - var query = new GetHistorialTipoDeIvaQuery(id); + var query = new GetHistorialTipoDeIvaQuery(id); var result = await _dispatcher.Send>(query); return Ok(result.Select(FiscalContractMapper.ToHistorialIvaResponse).ToList()); } @@ -143,10 +143,10 @@ public sealed class FiscalController : ControllerBase } var command = new CreateTipoDeIvaCommand( - Codigo: request.Codigo ?? string.Empty, - Descripcion: request.Descripcion ?? string.Empty, - Porcentaje: request.Porcentaje ?? 0m, - AplicaIVA: request.AplicaIVA ?? false, + Codigo: request.Codigo ?? string.Empty, + Descripcion: request.Descripcion ?? string.Empty, + Porcentaje: request.Porcentaje ?? 0m, + AplicaIVA: request.AplicaIVA ?? false, VigenciaDesde: vigenciaDesde.Value, VigenciaHasta: vigenciaHasta); @@ -202,11 +202,11 @@ public sealed class FiscalController : ControllerBase return BadRequest(new { error = "Request body is required" }); var command = new UpdateTipoDeIvaCommand( - Id: id, - Codigo: request.Codigo ?? string.Empty, + Id: id, + Codigo: request.Codigo ?? string.Empty, Descripcion: request.Descripcion ?? string.Empty, - AplicaIVA: request.AplicaIVA ?? false, - Activo: request.Activo ?? true); + AplicaIVA: request.AplicaIVA ?? false, + Activo: request.Activo ?? true); var validation = await _updateIvaValidator.ValidateAsync(command); if (!validation.IsValid) @@ -239,9 +239,9 @@ public sealed class FiscalController : ControllerBase return BadRequest(new { error = "vigenciaDesde must be a valid date (yyyy-MM-dd)" }); var command = new NuevaVersionTipoDeIvaCommand( - PredecesoraId: id, + PredecesoraId: id, NuevoPorcentaje: request.Porcentaje ?? 0m, - VigenciaDesde: vigenciaDesde.Value); + VigenciaDesde: vigenciaDesde.Value); var validation = await _nuevaVersionIvaValidator.ValidateAsync(command); if (!validation.IsValid) @@ -269,7 +269,7 @@ public sealed class FiscalController : ControllerBase public async Task DeactivateIva([FromRoute] int id) { var command = new DeactivateTipoDeIvaCommand(id); - var result = await _dispatcher.Send(command); + var result = await _dispatcher.Send(command); return Ok(FiscalContractMapper.ToIvaResponse(result)); } @@ -283,7 +283,7 @@ public sealed class FiscalController : ControllerBase public async Task ReactivateIva([FromRoute] int id) { var command = new ReactivateTipoDeIvaCommand(id); - var result = await _dispatcher.Send(command); + var result = await _dispatcher.Send(command); return Ok(FiscalContractMapper.ToIvaResponse(result)); } @@ -303,7 +303,7 @@ public sealed class FiscalController : ControllerBase [FromQuery] bool? activo = null, [FromQuery] string? provincia = null) { - if (page < 1) return BadRequest(new { error = "page must be >= 1" }); + if (page < 1) return BadRequest(new { error = "page must be >= 1" }); if (pageSize < 1) return BadRequest(new { error = "pageSize must be >= 1" }); ProvinciaArgentina? provinciaEnum = null; @@ -314,12 +314,12 @@ public sealed class FiscalController : ControllerBase provinciaEnum = parsed; } - var query = new ListIngresosBrutosQuery(page, pageSize, activo, provinciaEnum); + var query = new ListIngresosBrutosQuery(page, pageSize, activo, provinciaEnum); var result = await _dispatcher.Send>(query); return Ok(new { - Items = result.Items.Select(FiscalContractMapper.ToIibbResponse).ToList(), + Items = result.Items.Select(FiscalContractMapper.ToIibbResponse).ToList(), result.Page, result.PageSize, result.Total @@ -335,7 +335,7 @@ public sealed class FiscalController : ControllerBase [ProducesResponseType(StatusCodes.Status404NotFound)] public async Task GetIibbById([FromRoute] int id) { - var query = new GetIngresosBrutosByIdQuery(id); + var query = new GetIngresosBrutosByIdQuery(id); var result = await _dispatcher.Send(query); return Ok(FiscalContractMapper.ToIibbResponse(result)); } @@ -348,7 +348,7 @@ public sealed class FiscalController : ControllerBase [ProducesResponseType(StatusCodes.Status403Forbidden)] public async Task GetHistorialIibb([FromRoute] int id) { - var query = new GetHistorialIngresosBrutosQuery(id); + var query = new GetHistorialIngresosBrutosQuery(id); var result = await _dispatcher.Send>(query); return Ok(result.Select(FiscalContractMapper.ToHistorialIibbResponse).ToList()); } @@ -397,9 +397,9 @@ public sealed class FiscalController : ControllerBase } var command = new CreateIngresosBrutosCommand( - Provincia: provinciaEnum, - Descripcion: request.Descripcion ?? string.Empty, - Alicuota: request.Alicuota ?? 0m, + Provincia: provinciaEnum, + Descripcion: request.Descripcion ?? string.Empty, + Alicuota: request.Alicuota ?? 0m, VigenciaDesde: vigenciaDesde.Value, VigenciaHasta: vigenciaHasta); @@ -453,9 +453,9 @@ public sealed class FiscalController : ControllerBase return BadRequest(new { error = "Request body is required" }); var command = new UpdateIngresosBrutosCommand( - Id: id, + Id: id, Descripcion: request.Descripcion ?? string.Empty, - Activo: request.Activo ?? true); + Activo: request.Activo ?? true); var validation = await _updateIibbValidator.ValidateAsync(command); if (!validation.IsValid) @@ -518,7 +518,7 @@ public sealed class FiscalController : ControllerBase public async Task DeactivateIibb([FromRoute] int id) { var command = new DeactivateIngresosBrutosCommand(id); - var result = await _dispatcher.Send(command); + var result = await _dispatcher.Send(command); return Ok(FiscalContractMapper.ToIibbResponse(result)); } @@ -532,7 +532,7 @@ public sealed class FiscalController : ControllerBase public async Task ReactivateIibb([FromRoute] int id) { var command = new ReactivateIngresosBrutosCommand(id); - var result = await _dispatcher.Send(command); + var result = await _dispatcher.Send(command); return Ok(FiscalContractMapper.ToIibbResponse(result)); } diff --git a/src/api/SIGCM2.Application/Common/PermisosOverride.cs b/src/api/SIGCM2.Application/Common/PermisosOverride.cs index 00b022c..a674b84 100644 --- a/src/api/SIGCM2.Application/Common/PermisosOverride.cs +++ b/src/api/SIGCM2.Application/Common/PermisosOverride.cs @@ -9,7 +9,7 @@ namespace SIGCM2.Application.Common; /// public sealed record PermisosOverride( [property: JsonPropertyName("grant")] IReadOnlyList Grant, - [property: JsonPropertyName("deny")] IReadOnlyList Deny) + [property: JsonPropertyName("deny")] IReadOnlyList Deny) { /// No overrides — empty grant and deny. public static readonly PermisosOverride Empty = @@ -46,7 +46,7 @@ public sealed record PermisosOverride( return new PermisosOverride( parsed.Grant ?? Array.Empty(), - parsed.Deny ?? Array.Empty()); + parsed.Deny ?? Array.Empty()); } catch (JsonException) { diff --git a/src/api/SIGCM2.Application/Usuarios/Permisos/UpdateUsuarioPermisosOverridesCommandHandler.cs b/src/api/SIGCM2.Application/Usuarios/Permisos/UpdateUsuarioPermisosOverridesCommandHandler.cs index 47e8905..681585b 100644 --- a/src/api/SIGCM2.Application/Usuarios/Permisos/UpdateUsuarioPermisosOverridesCommandHandler.cs +++ b/src/api/SIGCM2.Application/Usuarios/Permisos/UpdateUsuarioPermisosOverridesCommandHandler.cs @@ -37,7 +37,7 @@ public sealed class UpdateUsuarioPermisosOverridesCommandHandler public async Task Handle(UpdateUsuarioPermisosOverridesCommand command) { var grant = command.Grant ?? []; - var deny = command.Deny ?? []; + var deny = command.Deny ?? []; // 1. Overlap check — grant ∩ deny → 400 var overlap = grant.Intersect(deny, StringComparer.Ordinal).ToArray(); diff --git a/src/api/SIGCM2.Domain/Fiscal/ProvinciaArgentina.cs b/src/api/SIGCM2.Domain/Fiscal/ProvinciaArgentina.cs index ad0d152..16f46b0 100644 --- a/src/api/SIGCM2.Domain/Fiscal/ProvinciaArgentina.cs +++ b/src/api/SIGCM2.Domain/Fiscal/ProvinciaArgentina.cs @@ -40,30 +40,30 @@ public static class ProvinciaArgentinaExtensions { private static readonly Dictionary DisplayNames = new() { - [ProvinciaArgentina.BuenosAires] = "Buenos Aires", - [ProvinciaArgentina.Catamarca] = "Catamarca", - [ProvinciaArgentina.Chaco] = "Chaco", - [ProvinciaArgentina.Chubut] = "Chubut", + [ProvinciaArgentina.BuenosAires] = "Buenos Aires", + [ProvinciaArgentina.Catamarca] = "Catamarca", + [ProvinciaArgentina.Chaco] = "Chaco", + [ProvinciaArgentina.Chubut] = "Chubut", [ProvinciaArgentina.CiudadAutonomaDeBuenosAires] = "Ciudad Autónoma de Buenos Aires", - [ProvinciaArgentina.Cordoba] = "Córdoba", - [ProvinciaArgentina.Corrientes] = "Corrientes", - [ProvinciaArgentina.EntreRios] = "Entre Ríos", - [ProvinciaArgentina.Formosa] = "Formosa", - [ProvinciaArgentina.Jujuy] = "Jujuy", - [ProvinciaArgentina.LaPampa] = "La Pampa", - [ProvinciaArgentina.LaRioja] = "La Rioja", - [ProvinciaArgentina.Mendoza] = "Mendoza", - [ProvinciaArgentina.Misiones] = "Misiones", - [ProvinciaArgentina.Neuquen] = "Neuquén", - [ProvinciaArgentina.RioNegro] = "Río Negro", - [ProvinciaArgentina.Salta] = "Salta", - [ProvinciaArgentina.SanJuan] = "San Juan", - [ProvinciaArgentina.SanLuis] = "San Luis", - [ProvinciaArgentina.SantaCruz] = "Santa Cruz", - [ProvinciaArgentina.SantaFe] = "Santa Fe", - [ProvinciaArgentina.SantiagoDelEstero] = "Santiago del Estero", - [ProvinciaArgentina.TierraDelFuego] = "Tierra del Fuego", - [ProvinciaArgentina.Tucuman] = "Tucumán", + [ProvinciaArgentina.Cordoba] = "Córdoba", + [ProvinciaArgentina.Corrientes] = "Corrientes", + [ProvinciaArgentina.EntreRios] = "Entre Ríos", + [ProvinciaArgentina.Formosa] = "Formosa", + [ProvinciaArgentina.Jujuy] = "Jujuy", + [ProvinciaArgentina.LaPampa] = "La Pampa", + [ProvinciaArgentina.LaRioja] = "La Rioja", + [ProvinciaArgentina.Mendoza] = "Mendoza", + [ProvinciaArgentina.Misiones] = "Misiones", + [ProvinciaArgentina.Neuquen] = "Neuquén", + [ProvinciaArgentina.RioNegro] = "Río Negro", + [ProvinciaArgentina.Salta] = "Salta", + [ProvinciaArgentina.SanJuan] = "San Juan", + [ProvinciaArgentina.SanLuis] = "San Luis", + [ProvinciaArgentina.SantaCruz] = "Santa Cruz", + [ProvinciaArgentina.SantaFe] = "Santa Fe", + [ProvinciaArgentina.SantiagoDelEstero] = "Santiago del Estero", + [ProvinciaArgentina.TierraDelFuego] = "Tierra del Fuego", + [ProvinciaArgentina.Tucuman] = "Tucumán", }; private static readonly Dictionary ByDisplayName = diff --git a/src/api/SIGCM2.Domain/Permissions/Permiso.cs b/src/api/SIGCM2.Domain/Permissions/Permiso.cs index 8f7b1e3..630e830 100644 --- a/src/api/SIGCM2.Domain/Permissions/Permiso.cs +++ b/src/api/SIGCM2.Domain/Permissions/Permiso.cs @@ -8,35 +8,35 @@ namespace SIGCM2.Domain.Permissions; public static class Permiso { // ── Ventas: contado ────────────────────────────────────────────────────── - public const string VentasContadoCrear = "ventas:contado:crear"; - public const string VentasContadoModificar = "ventas:contado:modificar"; - public const string VentasContadoCobrar = "ventas:contado:cobrar"; - public const string VentasContadoFacturar = "ventas:contado:facturar"; + public const string VentasContadoCrear = "ventas:contado:crear"; + public const string VentasContadoModificar = "ventas:contado:modificar"; + public const string VentasContadoCobrar = "ventas:contado:cobrar"; + public const string VentasContadoFacturar = "ventas:contado:facturar"; // ── Ventas: cuenta corriente ───────────────────────────────────────────── - public const string VentasCtacteCrear = "ventas:ctacte:crear"; - public const string VentasCtacteFacturar = "ventas:ctacte:facturar"; + public const string VentasCtacteCrear = "ventas:ctacte:crear"; + public const string VentasCtacteFacturar = "ventas:ctacte:facturar"; // ── Textos ─────────────────────────────────────────────────────────────── - public const string TextosEditar = "textos:editar"; - public const string TextosReclamosVer = "textos:reclamos:ver"; + public const string TextosEditar = "textos:editar"; + public const string TextosReclamosVer = "textos:reclamos:ver"; // ── Pauta ──────────────────────────────────────────────────────────────── - public const string PautaAzanuVer = "pauta:azanu:ver"; - public const string PautaLimpiar = "pauta:limpiar"; + public const string PautaAzanuVer = "pauta:azanu:ver"; + public const string PautaLimpiar = "pauta:limpiar"; public const string PautaRecursosFueraDeHora = "pauta:recursos:fueradehora"; // ── Productores ────────────────────────────────────────────────────────── - public const string ProductoresDeudaVer = "productores:deuda:ver"; - public const string ProductoresPendientesCrear = "productores:pendientes:crear"; - public const string ProductoresDeudaBypass = "productores:deuda:bypass"; + public const string ProductoresDeudaVer = "productores:deuda:ver"; + public const string ProductoresPendientesCrear = "productores:pendientes:crear"; + public const string ProductoresDeudaBypass = "productores:deuda:bypass"; // ── Administración ─────────────────────────────────────────────────────── - public const string AdministracionUsuariosGestionar = "administracion:usuarios:gestionar"; + public const string AdministracionUsuariosGestionar = "administracion:usuarios:gestionar"; public const string AdministracionTarifariosGestionar = "administracion:tarifarios:gestionar"; - public const string AdministracionMediosGestionar = "administracion:medios:gestionar"; - public const string AdministracionAuditoriaVer = "administracion:auditoria:ver"; - public const string AdministracionFiscalGestionar = "administracion:fiscal:gestionar"; + public const string AdministracionMediosGestionar = "administracion:medios:gestionar"; + public const string AdministracionAuditoriaVer = "administracion:auditoria:ver"; + public const string AdministracionFiscalGestionar = "administracion:fiscal:gestionar"; /// /// Set completo de todos los códigos canónicos (útil para validación y seeds). diff --git a/src/api/SIGCM2.Infrastructure/Audit/JsonSanitizer.cs b/src/api/SIGCM2.Infrastructure/Audit/JsonSanitizer.cs index c1b1f1b..8e7599b 100644 --- a/src/api/SIGCM2.Infrastructure/Audit/JsonSanitizer.cs +++ b/src/api/SIGCM2.Infrastructure/Audit/JsonSanitizer.cs @@ -57,7 +57,7 @@ public static class JsonSanitizer } break; - // JsonValue: scalar, nothing to strip + // JsonValue: scalar, nothing to strip } } } diff --git a/tests/SIGCM2.Api.Tests/Admin/FiscalControllerTests.cs b/tests/SIGCM2.Api.Tests/Admin/FiscalControllerTests.cs index 9c7ed2b..79ff3e8 100644 --- a/tests/SIGCM2.Api.Tests/Admin/FiscalControllerTests.cs +++ b/tests/SIGCM2.Api.Tests/Admin/FiscalControllerTests.cs @@ -20,7 +20,7 @@ public sealed class FiscalControllerTests : IAsyncLifetime private const string TestConnectionString = "Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;"; - private const string IvaEndpoint = "/api/v1/admin/fiscal/iva"; + private const string IvaEndpoint = "/api/v1/admin/fiscal/iva"; private const string IibbEndpoint = "/api/v1/admin/fiscal/iibb"; private const string AdminUsername = "admin"; private const string AdminPassword = "@Diego550@"; diff --git a/tests/SIGCM2.Application.Tests/Common/PermisoResolverTests.cs b/tests/SIGCM2.Application.Tests/Common/PermisoResolverTests.cs index bb78d3f..703c037 100644 --- a/tests/SIGCM2.Application.Tests/Common/PermisoResolverTests.cs +++ b/tests/SIGCM2.Application.Tests/Common/PermisoResolverTests.cs @@ -44,7 +44,7 @@ public sealed class PermisoResolverTests Assert.DoesNotContain("A", result); Assert.Contains("B", result); - Assert.Equal(1, result.Count); + Assert.Single(result); } // R-04: Grant duplicado (ya en rol) → idempotente, no duplicados diff --git a/tests/SIGCM2.Application.Tests/Common/TempPasswordGeneratorTests.cs b/tests/SIGCM2.Application.Tests/Common/TempPasswordGeneratorTests.cs index 1f2308d..8c39ff0 100644 --- a/tests/SIGCM2.Application.Tests/Common/TempPasswordGeneratorTests.cs +++ b/tests/SIGCM2.Application.Tests/Common/TempPasswordGeneratorTests.cs @@ -66,10 +66,10 @@ public class TempPasswordGeneratorTests { var pwd = TempPasswordGenerator.Generate(12); Assert.True(pwd.Length >= 12); - Assert.True(pwd.Any(char.IsUpper)); - Assert.True(pwd.Any(char.IsLower)); - Assert.True(pwd.Any(char.IsDigit)); - Assert.True(pwd.Any(c => symbols.Contains(c))); + Assert.Contains(pwd, char.IsUpper); + Assert.Contains(pwd, char.IsLower); + Assert.Contains(pwd, char.IsDigit); + Assert.Contains(pwd, c => symbols.Contains(c)); } } diff --git a/tests/SIGCM2.Application.Tests/Infrastructure/Audit/JsonSanitizerTests.cs b/tests/SIGCM2.Application.Tests/Infrastructure/Audit/JsonSanitizerTests.cs index 5382b32..996f9e3 100644 --- a/tests/SIGCM2.Application.Tests/Infrastructure/Audit/JsonSanitizerTests.cs +++ b/tests/SIGCM2.Application.Tests/Infrastructure/Audit/JsonSanitizerTests.cs @@ -154,9 +154,17 @@ public sealed class JsonSanitizerTests var input = new { - password = "1", passwordHash = "2", token = "3", refreshToken = "4", - accessToken = "5", cvv = "6", card = "7", cardNumber = "8", - secret = "9", apiKey = "10", privateKey = "11", + password = "1", + passwordHash = "2", + token = "3", + refreshToken = "4", + accessToken = "5", + cvv = "6", + card = "7", + cardNumber = "8", + secret = "9", + apiKey = "10", + privateKey = "11", keep = "yes", }; diff --git a/tests/SIGCM2.Application.Tests/Permisos/Assign/AssignPermisosToRolCommandHandlerTests.cs b/tests/SIGCM2.Application.Tests/Permisos/Assign/AssignPermisosToRolCommandHandlerTests.cs index 14fb6f8..1763423 100644 --- a/tests/SIGCM2.Application.Tests/Permisos/Assign/AssignPermisosToRolCommandHandlerTests.cs +++ b/tests/SIGCM2.Application.Tests/Permisos/Assign/AssignPermisosToRolCommandHandlerTests.cs @@ -30,8 +30,8 @@ public class AssignPermisosToRolCommandHandlerTests public async Task Handle_HappyPath_CallsReplaceWithCorrectIds() { _rolRepository.GetByCodigoAsync("cajero").Returns(MakeRol(5, "cajero")); - var permisoCrear = MakePermiso(1, "ventas:contado:crear"); - var permisoFact = MakePermiso(2, "ventas:contado:facturar"); + var permisoCrear = MakePermiso(1, "ventas:contado:crear"); + var permisoFact = MakePermiso(2, "ventas:contado:facturar"); _permisoRepository.GetByCodigosAsync(Arg.Any>()) .Returns(new List { permisoCrear, permisoFact }); diff --git a/tests/SIGCM2.Application.Tests/TiposDeIva/List/ListTiposDeIvaQueryHandlerTests.cs b/tests/SIGCM2.Application.Tests/TiposDeIva/List/ListTiposDeIvaQueryHandlerTests.cs index 1d79f15..d3a44d2 100644 --- a/tests/SIGCM2.Application.Tests/TiposDeIva/List/ListTiposDeIvaQueryHandlerTests.cs +++ b/tests/SIGCM2.Application.Tests/TiposDeIva/List/ListTiposDeIvaQueryHandlerTests.cs @@ -42,7 +42,7 @@ public class ListTiposDeIvaQueryHandlerTests var result = await _handler.Handle(new ListTiposDeIvaQuery(1, 10, null, null)); - Assert.Equal(0, result.Items.Count); + Assert.Empty(result.Items); Assert.Equal(0, result.Total); } diff --git a/tests/SIGCM2.TestSupport/TestWebAppFactory.cs b/tests/SIGCM2.TestSupport/TestWebAppFactory.cs index 93cf2c0..4e26b0a 100644 --- a/tests/SIGCM2.TestSupport/TestWebAppFactory.cs +++ b/tests/SIGCM2.TestSupport/TestWebAppFactory.cs @@ -23,7 +23,7 @@ public sealed class TestWebAppFactory : WebApplicationFactory, IAsyncLi // Resolved once — absolute paths independent of working directory private static readonly string RepoRoot = ResolveRepoRoot(); private static readonly string PrivateKeyPath = Path.Combine(RepoRoot, "src", "api", "SIGCM2.Api", "keys", "private.pem"); - private static readonly string PublicKeyPath = Path.Combine(RepoRoot, "src", "api", "SIGCM2.Api", "keys", "public.pem"); + private static readonly string PublicKeyPath = Path.Combine(RepoRoot, "src", "api", "SIGCM2.Api", "keys", "public.pem"); private readonly SqlTestFixture _dbFixture = new(TestConnectionString); @@ -36,17 +36,17 @@ public sealed class TestWebAppFactory : WebApplicationFactory, IAsyncLi // This ensures our paths win over appsettings.json config.AddInMemoryCollection(new Dictionary { - ["ConnectionStrings:SqlServer"] = TestConnectionString, - ["Jwt:Issuer"] = "sigcm2.api", - ["Jwt:Audience"] = "sigcm2.web", - ["Jwt:AccessTokenMinutes"] = "60", - ["Jwt:RefreshTokenDays"] = "7", - ["Jwt:PrivateKeyPath"] = PrivateKeyPath, - ["Jwt:PublicKeyPath"] = PublicKeyPath, - ["Jwt:PrivateKey"] = null, - ["Jwt:PublicKey"] = null, - ["Cors:AllowedOrigins:0"] = "http://localhost:5173", - ["Serilog:MinimumLevel:Default"] = "Warning", + ["ConnectionStrings:SqlServer"] = TestConnectionString, + ["Jwt:Issuer"] = "sigcm2.api", + ["Jwt:Audience"] = "sigcm2.web", + ["Jwt:AccessTokenMinutes"] = "60", + ["Jwt:RefreshTokenDays"] = "7", + ["Jwt:PrivateKeyPath"] = PrivateKeyPath, + ["Jwt:PublicKeyPath"] = PublicKeyPath, + ["Jwt:PrivateKey"] = null, + ["Jwt:PublicKey"] = null, + ["Cors:AllowedOrigins:0"] = "http://localhost:5173", + ["Serilog:MinimumLevel:Default"] = "Warning", }); }); -- 2.49.1