generator-codedesignplus 0.1.0-alpha.1 → 0.1.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/generators/microservice/templates/microservice/LICENSE.md +21 -0
  2. package/generators/microservice/templates/microservice/README.md +175 -0
  3. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/CodeDesignPlus.Net.Microservice.Application.csproj +4 -4
  4. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/AddProductToOrder/AddProductToOrderCommandHandler.cs +3 -4
  5. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/CancelOrder/CancelOrderCommandHandler.cs +5 -4
  6. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/CompleteOrder/CompleteOrderCommandHandler.cs +2 -2
  7. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/CreateOrder/CreateOrderCommandHandler.cs +4 -5
  8. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/RemoveProduct/RemoveProductCommandHandler.cs +2 -2
  9. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/UpdateQuantityProduct/UpdateQuantityProductCommandHandler.cs +3 -4
  10. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/DataTransferObjects/OrderDto.cs +4 -4
  11. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Queries/FindOrderById/FindOrderByIdQueryHandler.cs +3 -6
  12. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Queries/GetAllOrders/GetAllOrdersQueryHandler.cs +3 -6
  13. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Usings.cs +1 -0
  14. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/CodeDesignPlus.Net.Microservice.Domain.csproj +2 -2
  15. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/AddProductToOrderParams.cs +1 -2
  16. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/CancelOrderParams.cs +2 -2
  17. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/CompleteOrderParams.cs +2 -2
  18. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/RemoveProductFromOrderParams.cs +1 -1
  19. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/UpdateQuantityProductParams.cs +1 -2
  20. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/OrderCancelledDomainEvent.cs +4 -4
  21. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/OrderCompletedDomainEvent.cs +4 -4
  22. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/OrderCreatedDomainEvent.cs +4 -4
  23. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/ProductAddedToOrderDomainEvent.cs +1 -1
  24. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/ProductQuantityUpdatedDomainEvent.cs +1 -1
  25. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/ProductRemovedFromOrderDomainEvent.cs +1 -1
  26. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/OrderAggregate.cs +13 -15
  27. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/Repositories/IOrderRepository.cs +5 -9
  28. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/Usings.cs +1 -0
  29. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Infrastructure/Repositories/OrderRepository.cs +29 -39
  30. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/CodeDesignPlus.Net.Microservice.AsyncWorker.csproj +8 -8
  31. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/Dockerfile +36 -0
  32. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/Program.cs +1 -1
  33. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/Properties/launchSettings.json +5 -5
  34. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.Docker.json +25 -0
  35. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.json +9 -45
  36. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/CodeDesignPlus.Net.Microservice.Rest.csproj +9 -8
  37. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Dockerfile +7 -8
  38. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Program.cs +6 -1
  39. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Properties/launchSettings.json +3 -5
  40. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.Docker.json +25 -0
  41. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.json +12 -4
  42. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/CodeDesignPlus.Net.Microservice.gRpc.csproj +12 -10
  43. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Core/Mapster/MapsterConfig.cs +10 -2
  44. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Dockerfile +36 -0
  45. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Program.cs +1 -3
  46. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Properties/launchSettings.json +2 -11
  47. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Protos/orders.proto +7 -7
  48. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Services/OrderService.cs +1 -2
  49. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.Docker.json +25 -0
  50. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.json +7 -5
  51. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +5 -5
  52. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +6 -6
  53. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/Controllers/OrderControllerTest.cs +28 -28
  54. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/Usings.cs +1 -0
  55. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +11 -9
  56. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/Protos/orders.proto +8 -7
  57. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/Services/{OrdersServiceTest.cs → OrderServiceTest.cs} +13 -6
  58. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/CodeDesignPlus.Net.Microservice.Application.Test.csproj +4 -4
  59. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/AddProductToOrder/AddProductToOrderCommandHandlerTest.cs +6 -6
  60. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/CancelOrder/CancelOrderCommandHandlerTest.cs +6 -7
  61. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/CompleteOrder/CompleteOrderCommandHandlerTest.cs +6 -6
  62. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/CreateOrder/CreateOrderCommandHandlerTest.cs +11 -11
  63. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/RemoveProduct/RemoveProductCommandHandlerTest.cs +7 -5
  64. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/UpdateQuantityProduct/UpdateQuantityProductCommandHandlerTest.cs +6 -6
  65. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Queries/FindOrderById/FindOrderByIdQueryHandlerTest.cs +18 -6
  66. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Queries/GetAllOrders/GetAllOrdersQueryHandlerTest.cs +11 -7
  67. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Usings.cs +1 -0
  68. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +5 -5
  69. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/Usings.cs +0 -1
  70. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/CodeDesignPlus.Net.Microservice.Default.Test.csproj +6 -6
  71. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Domain.Test/CodeDesignPlus.Net.Microservice.Domain.Test.csproj +4 -4
  72. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Domain.Test/DomainEvents/OrderCancelledDomainEventTest.cs +3 -3
  73. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Domain.Test/OrderAggregateTest.cs +2 -2
  74. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Domain.Test/Usings.cs +2 -0
  75. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Infrastructure.Test/CodeDesignPlus.Net.Microservice.Infrastructure.Test.csproj +4 -4
  76. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Infrastructure.Test/Repositories/OrderRepositoryTest.cs +20 -91
  77. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Infrastructure.Test/Usings.cs +1 -0
  78. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +5 -5
  79. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +5 -5
  80. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.gRpc.Test/Services/OrderServiceTest.cs +2 -2
  81. package/generators/microservice/templates/microservice/tools/vault/config-vault.ps1 +2 -2
  82. package/generators/microservice/templates/microservice/tools/vault/config-vault.sh +1 -2
  83. package/package.json +1 -1
  84. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.Development.json +0 -2
  85. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/CodeDesignPlus.Net.Microservice.Rest.csproj.user +0 -11
  86. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.Development.json +0 -3
  87. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/CodeDesignPlus.Net.Microservice.gRpc.csproj.user +0 -9
  88. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.Development.json +0 -3
@@ -9,18 +9,18 @@
9
9
  <SonarQubeExclude>true</SonarQubeExclude>
10
10
  </PropertyGroup>
11
11
  <ItemGroup>
12
- <PackageReference Include="coverlet.msbuild" Version="6.0.3">
12
+ <PackageReference Include="coverlet.msbuild" Version="6.0.4">
13
13
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14
14
  <PrivateAssets>all</PrivateAssets>
15
15
  </PackageReference>
16
- <PackageReference Include="coverlet.collector" Version="6.0.3">
16
+ <PackageReference Include="coverlet.collector" Version="6.0.4">
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
20
20
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
21
21
  <PackageReference Include="Moq" Version="4.20.72" />
22
- <PackageReference Include="xunit" Version="2.9.2" />
23
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
22
+ <PackageReference Include="xunit" Version="2.9.3" />
23
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
24
24
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
25
25
  <PrivateAssets>all</PrivateAssets>
26
26
  </PackageReference>
@@ -34,7 +34,7 @@ public class AddProductToOrderCommandHandlerTest
34
34
  1
35
35
  );
36
36
 
37
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(default(OrderAggregate));
37
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(default(OrderAggregate));
38
38
 
39
39
  var handler = new AddProductToOrderCommandHandler(orderRepository.Object, this.user, pubsub.Object);
40
40
 
@@ -42,8 +42,8 @@ public class AddProductToOrderCommandHandlerTest
42
42
  var exception = await Assert.ThrowsAsync<CodeDesignPlusException>(() => handler.Handle(command, CancellationToken.None));
43
43
 
44
44
  // Assert
45
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
46
- orderRepository.Verify(x => x.AddProductToOrderAsync(It.IsAny<AddProductToOrderParams>(), It.IsAny<CancellationToken>()), Times.Never);
45
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(command.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
46
+ orderRepository.Verify(x => x.AddProductToOrderAsync(command.Id, this.user.Tenant, It.IsAny<AddProductToOrderParams>(), It.IsAny<CancellationToken>()), Times.Never);
47
47
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Never);
48
48
 
49
49
  Assert.Equal(Errors.OrderNotFound.GetCode(), exception.Code);
@@ -71,7 +71,7 @@ public class AddProductToOrderCommandHandlerTest
71
71
  1
72
72
  );
73
73
 
74
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(order);
74
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(order);
75
75
 
76
76
  var handler = new AddProductToOrderCommandHandler(orderRepository.Object, this.user, pubsub.Object);
77
77
 
@@ -79,8 +79,8 @@ public class AddProductToOrderCommandHandlerTest
79
79
  await handler.Handle(command, CancellationToken.None);
80
80
 
81
81
  // Assert
82
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
83
- orderRepository.Verify(x => x.AddProductToOrderAsync(It.IsAny<AddProductToOrderParams>(), It.IsAny<CancellationToken>()), Times.Once);
82
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(command.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
83
+ orderRepository.Verify(x => x.AddProductToOrderAsync(order.Id, this.user.Tenant, It.IsAny<AddProductToOrderParams>(), It.IsAny<CancellationToken>()), Times.Once);
84
84
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Once);
85
85
 
86
86
  Assert.NotEmpty(order.Products);
@@ -5,7 +5,6 @@ namespace CodeDesignPlus.Net.Microservice.Application.Test.Order.Commands.Cancel
5
5
 
6
6
  public class CancelOrderCommandHandlerTest
7
7
  {
8
-
9
8
  private readonly IUserContext user;
10
9
 
11
10
  public CancelOrderCommandHandlerTest()
@@ -27,7 +26,7 @@ public class CancelOrderCommandHandlerTest
27
26
 
28
27
  var command = new CancelOrderCommand(Guid.NewGuid(), "Reason");
29
28
 
30
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(default(OrderAggregate));
29
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(default(OrderAggregate));
31
30
 
32
31
  var handler = new CancelOrderCommandHandler(orderRepository.Object, this.user, pubsub.Object);
33
32
 
@@ -35,8 +34,8 @@ public class CancelOrderCommandHandlerTest
35
34
  var exception = await Assert.ThrowsAsync<CodeDesignPlusException>(() => handler.Handle(command, CancellationToken.None));
36
35
 
37
36
  // Assert
38
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
39
- orderRepository.Verify(x => x.CancelOrderAsync(It.IsAny<CancelOrderParams>(), It.IsAny<CancellationToken>()), Times.Never);
37
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(command.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
38
+ orderRepository.Verify(x => x.CancelOrderAsync(It.IsAny<CancelOrderParams>(), this.user.Tenant, It.IsAny<CancellationToken>()), Times.Never);
40
39
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Never);
41
40
 
42
41
  Assert.Equal(Errors.OrderNotFound.GetCode(), exception.Code);
@@ -56,7 +55,7 @@ public class CancelOrderCommandHandlerTest
56
55
 
57
56
  var command = new CancelOrderCommand(order.Id, "Reason");
58
57
 
59
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(order);
58
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(),It.IsAny<CancellationToken>()))!.ReturnsAsync(order);
60
59
 
61
60
  var handler = new CancelOrderCommandHandler(orderRepository.Object, this.user, pubsub.Object);
62
61
 
@@ -66,8 +65,8 @@ public class CancelOrderCommandHandlerTest
66
65
  // Assert
67
66
  Assert.NotNull(order.UpdatedAt);
68
67
  Assert.Equal(this.user.IdUser, order.UpdatedBy);
69
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
70
- orderRepository.Verify(x => x.CancelOrderAsync(It.IsAny<CancelOrderParams>(), It.IsAny<CancellationToken>()), Times.Once);
68
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(command.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
69
+ orderRepository.Verify(x => x.CancelOrderAsync(It.IsAny<CancelOrderParams>(),this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
71
70
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Once);
72
71
  }
73
72
 
@@ -28,7 +28,7 @@ public class CompleteOrderCommandHandlerTest
28
28
 
29
29
  var command = new CompleteOrderCommand(Guid.NewGuid());
30
30
 
31
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(default(OrderAggregate));
31
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(default(OrderAggregate));
32
32
 
33
33
  var handler = new CompleteOrderCommandHandler(orderRepository.Object, this.user, pubsub.Object);
34
34
 
@@ -36,8 +36,8 @@ public class CompleteOrderCommandHandlerTest
36
36
  var exception = await Assert.ThrowsAsync<CodeDesignPlusException>(() => handler.Handle(command, CancellationToken.None));
37
37
 
38
38
  // Assert
39
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
40
- orderRepository.Verify(x => x.CompleteOrderAsync(It.IsAny<CompleteOrderParams>(), It.IsAny<CancellationToken>()), Times.Never);
39
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(command.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
40
+ orderRepository.Verify(x => x.CompleteOrderAsync(It.IsAny<CompleteOrderParams>(), this.user.Tenant, It.IsAny<CancellationToken>()), Times.Never);
41
41
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Never);
42
42
 
43
43
  Assert.Equal(Errors.OrderNotFound.GetCode(), exception.Code);
@@ -57,7 +57,7 @@ public class CompleteOrderCommandHandlerTest
57
57
 
58
58
  var command = new CompleteOrderCommand(order.Id);
59
59
 
60
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(order);
60
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(order);
61
61
 
62
62
  var handler = new CompleteOrderCommandHandler(orderRepository.Object, this.user, pubsub.Object);
63
63
 
@@ -67,8 +67,8 @@ public class CompleteOrderCommandHandlerTest
67
67
  // Assert
68
68
  Assert.NotNull(order.UpdatedAt);
69
69
  Assert.Equal(this.user.IdUser, order.UpdatedBy);
70
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
71
- orderRepository.Verify(x => x.CompleteOrderAsync(It.IsAny<CompleteOrderParams>(), It.IsAny<CancellationToken>()), Times.Once);
70
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(command.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
71
+ orderRepository.Verify(x => x.CompleteOrderAsync(It.IsAny<CompleteOrderParams>(), this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
72
72
  }
73
73
 
74
74
  }
@@ -5,14 +5,16 @@ namespace CodeDesignPlus.Net.Microservice.Application.Test.Order.Commands.Create
5
5
 
6
6
  public class CreateOrderCommandHandlerTest
7
7
  {
8
- private Mock<IUserContext> userMock;
8
+ private readonly IUserContext user;
9
9
 
10
10
  public CreateOrderCommandHandlerTest()
11
11
  {
12
- this.userMock = new Mock<IUserContext>();
12
+ var userMock = new Mock<IUserContext>();
13
13
 
14
14
  userMock.Setup(x => x.IdUser).Returns(Guid.NewGuid());
15
15
  userMock.Setup(x => x.Tenant).Returns(Guid.NewGuid());
16
+
17
+ this.user = userMock.Object;
16
18
  }
17
19
 
18
20
  [Fact]
@@ -43,17 +45,17 @@ public class CreateOrderCommandHandlerTest
43
45
  var command = new CreateOrderCommand(Guid.NewGuid(), client, address);
44
46
 
45
47
  orderRepository
46
- .Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!
47
- .ReturnsAsync(OrderAggregate.Create(Guid.NewGuid(), clientValueObject, addressValueObject, this.userMock.Object.Tenant, this.userMock.Object.IdUser));
48
+ .Setup(x => x.ExistsAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>()))
49
+ .ReturnsAsync(true);
48
50
 
49
- var handler = new CreateOrderCommandHandler(orderRepository.Object, this.userMock.Object, pubsub.Object);
51
+ var handler = new CreateOrderCommandHandler(orderRepository.Object, this.user, pubsub.Object);
50
52
 
51
53
  // Act
52
54
  var exception = await Assert.ThrowsAsync<Exceptions.CodeDesignPlusException>(() => handler.Handle(command, CancellationToken.None));
53
55
 
54
56
  // Assert
55
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
56
- orderRepository.Verify(x => x.CreateOrderAsync(It.IsAny<OrderAggregate>(), It.IsAny<CancellationToken>()), Times.Never);
57
+ orderRepository.Verify(x => x.ExistsAsync<OrderAggregate>(command.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
58
+ orderRepository.Verify(x => x.CreateAsync(It.IsAny<OrderAggregate>(), It.IsAny<CancellationToken>()), Times.Never);
57
59
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Never);
58
60
 
59
61
  Assert.Equal(Errors.OrderAlreadyExists.GetCode(), exception.Code);
@@ -85,16 +87,14 @@ public class CreateOrderCommandHandlerTest
85
87
 
86
88
  var command = new CreateOrderCommand(Guid.NewGuid(), client, address);
87
89
 
88
- var handler = new CreateOrderCommandHandler(orderRepository.Object, this.userMock.Object, pubsub.Object);
90
+ var handler = new CreateOrderCommandHandler(orderRepository.Object, this.user, pubsub.Object);
89
91
 
90
92
  // Act
91
93
  await handler.Handle(command, CancellationToken.None);
92
94
 
93
95
  // Assert
94
- orderRepository.Verify(x => x.CreateOrderAsync(It.IsAny<OrderAggregate>(), It.IsAny<CancellationToken>()), Times.Once);
96
+ orderRepository.Verify(x => x.CreateAsync(It.IsAny<OrderAggregate>(), It.IsAny<CancellationToken>()), Times.Once);
95
97
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Once);
96
- userMock.Verify(x => x.Tenant, Times.Once);
97
- userMock.Verify(x => x.IdUser, Times.Once);
98
98
  }
99
99
 
100
100
  }
@@ -5,14 +5,16 @@ namespace CodeDesignPlus.Net.Microservice.Application.Test.Order.Commands.Remove
5
5
 
6
6
  public class RemoveProductCommandHandlerTest
7
7
  {
8
+ private readonly Guid idUser = Guid.NewGuid();
9
+ private readonly Guid tenant = Guid.NewGuid();
8
10
  private readonly IUserContext user;
9
11
 
10
12
  public RemoveProductCommandHandlerTest()
11
13
  {
12
14
  var userMock = new Mock<IUserContext>();
13
15
 
14
- userMock.Setup(x => x.IdUser).Returns(Guid.NewGuid());
15
- userMock.Setup(x => x.Tenant).Returns(Guid.NewGuid());
16
+ userMock.Setup(x => x.IdUser).Returns(idUser);
17
+ userMock.Setup(x => x.Tenant).Returns(tenant);
16
18
 
17
19
  this.user = userMock.Object;
18
20
  }
@@ -26,7 +28,7 @@ public class RemoveProductCommandHandlerTest
26
28
  var handler = new RemoveProductCommandHandler(orderRepository.Object, user, pubsub.Object);
27
29
  var request = new RemoveProductCommand(Guid.NewGuid(), Guid.NewGuid());
28
30
 
29
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync((OrderAggregate)null!);
31
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync((OrderAggregate)null!);
30
32
 
31
33
  // Act
32
34
  var exception = await Assert.ThrowsAsync<CodeDesignPlusException>(() => handler.Handle(request, CancellationToken.None));
@@ -56,7 +58,7 @@ public class RemoveProductCommandHandlerTest
56
58
  Quantity = 1
57
59
  });
58
60
 
59
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(order);
61
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(order);
60
62
 
61
63
  // Act
62
64
  await handler.Handle(request, CancellationToken.None);
@@ -64,7 +66,7 @@ public class RemoveProductCommandHandlerTest
64
66
  // Assert
65
67
  Assert.NotNull(order.UpdatedAt);
66
68
  Assert.Equal(this.user.IdUser, order.UpdatedBy);
67
- orderRepository.Verify(x => x.RemoveProductFromOrderAsync(It.IsAny<RemoveProductFromOrderParams>(), It.IsAny<CancellationToken>()), Times.Once);
69
+ orderRepository.Verify(x => x.RemoveProductFromOrderAsync(It.IsAny<RemoveProductFromOrderParams>(), this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
68
70
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Once);
69
71
  }
70
72
 
@@ -26,7 +26,7 @@ public class UpdateQuantityProductCommandHandlerTest
26
26
 
27
27
  var command = new UpdateQuantityProductCommand(Guid.NewGuid(), Guid.NewGuid(), 1);
28
28
 
29
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(default(OrderAggregate));
29
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(default(OrderAggregate));
30
30
 
31
31
  var handler = new UpdateQuantityProductCommandHandler(orderRepository.Object, this.user, pubsub.Object);
32
32
 
@@ -34,8 +34,8 @@ public class UpdateQuantityProductCommandHandlerTest
34
34
  var exception = await Assert.ThrowsAsync<CodeDesignPlusException>(() => handler.Handle(command, CancellationToken.None));
35
35
 
36
36
  // Assert
37
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
38
- orderRepository.Verify(x => x.UpdateQuantityProductAsync(It.IsAny<UpdateQuantityProductParams>(), It.IsAny<CancellationToken>()), Times.Never);
37
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(command.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
38
+ orderRepository.Verify(x => x.UpdateQuantityProductAsync(command.Id, this.user.Tenant, It.IsAny<UpdateQuantityProductParams>(), It.IsAny<CancellationToken>()), Times.Never);
39
39
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Never);
40
40
 
41
41
  Assert.Equal(Errors.OrderNotFound.GetCode(), exception.Code);
@@ -64,7 +64,7 @@ public class UpdateQuantityProductCommandHandlerTest
64
64
 
65
65
  var command = new UpdateQuantityProductCommand(order.Id, order.Products[0].Id, 2);
66
66
 
67
- orderRepository.Setup(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(order);
67
+ orderRepository.Setup(x => x.FindAsync<OrderAggregate>(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>()))!.ReturnsAsync(order);
68
68
 
69
69
  var handler = new UpdateQuantityProductCommandHandler(orderRepository.Object, this.user, pubsub.Object);
70
70
 
@@ -74,8 +74,8 @@ public class UpdateQuantityProductCommandHandlerTest
74
74
  // Assert
75
75
  Assert.NotNull(order.UpdatedAt);
76
76
  Assert.Equal(this.user.IdUser, order.UpdatedBy);
77
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
78
- orderRepository.Verify(x => x.UpdateQuantityProductAsync(It.IsAny<UpdateQuantityProductParams>(), It.IsAny<CancellationToken>()), Times.Once);
77
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(command.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
78
+ orderRepository.Verify(x => x.UpdateQuantityProductAsync(command.Id, this.user.Tenant, It.IsAny<UpdateQuantityProductParams>(), It.IsAny<CancellationToken>()), Times.Once);
79
79
  pubsub.Verify(x => x.PublishAsync(It.IsAny<IReadOnlyList<IDomainEvent>>(), It.IsAny<CancellationToken>()), Times.Once);
80
80
  }
81
81
 
@@ -5,6 +5,18 @@ namespace CodeDesignPlus.Net.Microservice.Application.Test.Order.Queries.FindOrd
5
5
 
6
6
  public class FindOrderByIdQueryHandlerTest
7
7
  {
8
+ private readonly IUserContext user;
9
+
10
+ public FindOrderByIdQueryHandlerTest()
11
+ {
12
+ var userMock = new Mock<IUserContext>();
13
+
14
+ userMock.Setup(x => x.IdUser).Returns(Guid.NewGuid());
15
+ userMock.Setup(x => x.Tenant).Returns(Guid.NewGuid());
16
+
17
+ this.user = userMock.Object;
18
+ }
19
+
8
20
  [Fact]
9
21
  public async Task Handle_ValidId_ReturnsOrderDto()
10
22
  {
@@ -13,7 +25,7 @@ public class FindOrderByIdQueryHandlerTest
13
25
  var mapper = new Mock<IMapper>();
14
26
  var query = new FindOrderByIdQuery(Guid.NewGuid());
15
27
  var cancellationToken = new CancellationToken();
16
- var dtoExpected = new OrderDto();
28
+ var dtoExpected = new OrderDto();
17
29
  var cacheManagerMock = new Mock<ICacheManager>();
18
30
 
19
31
  cacheManagerMock.Setup(x => x.ExistsAsync(It.IsAny<string>())).ReturnsAsync(false);
@@ -21,7 +33,7 @@ public class FindOrderByIdQueryHandlerTest
21
33
 
22
34
  mapper.Setup(x => x.Map<OrderDto>(It.IsAny<object>())).Returns(dtoExpected);
23
35
 
24
- var handler = new FindOrderByIdQueryHandler(orderRepository.Object, mapper.Object, cacheManagerMock.Object);
36
+ var handler = new FindOrderByIdQueryHandler(orderRepository.Object, mapper.Object, cacheManagerMock.Object, this.user);
25
37
 
26
38
  // Act
27
39
  var result = await handler.Handle(query, cancellationToken);
@@ -30,13 +42,13 @@ public class FindOrderByIdQueryHandlerTest
30
42
  Assert.NotNull(result);
31
43
  Assert.IsType<OrderDto>(result);
32
44
  Assert.Equal(dtoExpected, result);
33
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Once);
45
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(query.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Once);
34
46
  mapper.Verify(x => x.Map<OrderDto>(It.IsAny<object>()), Times.Once);
35
47
  cacheManagerMock.Verify(x => x.SetAsync(It.IsAny<string>(), It.IsAny<OrderDto>(), It.IsAny<TimeSpan?>()), Times.Once);
36
48
  cacheManagerMock.Verify(x => x.ExistsAsync(It.IsAny<string>()), Times.Once);
37
49
  }
38
50
 
39
-
51
+
40
52
  [Fact]
41
53
  public async Task Handle_Cache_ReturnsOrderDto()
42
54
  {
@@ -53,7 +65,7 @@ public class FindOrderByIdQueryHandlerTest
53
65
 
54
66
  mapper.Setup(x => x.Map<OrderDto>(It.IsAny<object>())).Returns(dtoExpected);
55
67
 
56
- var handler = new FindOrderByIdQueryHandler(orderRepository.Object, mapper.Object, cacheManagerMock.Object);
68
+ var handler = new FindOrderByIdQueryHandler(orderRepository.Object, mapper.Object, cacheManagerMock.Object, this.user);
57
69
 
58
70
  // Act
59
71
  var result = await handler.Handle(query, cancellationToken);
@@ -62,7 +74,7 @@ public class FindOrderByIdQueryHandlerTest
62
74
  Assert.NotNull(result);
63
75
  Assert.IsType<OrderDto>(result);
64
76
  Assert.Equal(dtoExpected, result);
65
- orderRepository.Verify(x => x.FindAsync(It.IsAny<Guid>(), It.IsAny<CancellationToken>()), Times.Never);
77
+ orderRepository.Verify(x => x.FindAsync<OrderAggregate>(query.Id, this.user.Tenant, It.IsAny<CancellationToken>()), Times.Never);
66
78
  mapper.Verify(x => x.Map<OrderDto>(It.IsAny<object>()), Times.Never);
67
79
  cacheManagerMock.Verify(x => x.GetAsync<OrderDto>(It.IsAny<string>()), Times.Once);
68
80
  cacheManagerMock.Verify(x => x.ExistsAsync(It.IsAny<string>()), Times.Once);
@@ -9,6 +9,7 @@ public class GetAllOrdersQueryHandlerTest
9
9
  public async Task Handle_Success()
10
10
  {
11
11
  // Arrange
12
+ var tenant = Guid.NewGuid();
12
13
  var criteria = new C.Criteria();
13
14
  var query = new GetAllOrdersQuery(criteria);
14
15
  var orders = new List<OrderDto>
@@ -21,9 +22,9 @@ public class GetAllOrdersQueryHandlerTest
21
22
  TypeDocument = "CC",
22
23
  Id = Guid.NewGuid()
23
24
  },
24
- CompletedAt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
25
+ CompletedAt = SystemClock.Instance.GetCurrentInstant(),
25
26
  CreatedBy = Guid.NewGuid(),
26
- CreatedAt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
27
+ CreatedAt = SystemClock.Instance.GetCurrentInstant(),
27
28
  IsActive = true,
28
29
  Products = [
29
30
  new(){
@@ -33,7 +34,6 @@ public class GetAllOrdersQueryHandlerTest
33
34
  Quantity = 1
34
35
  }
35
36
  ],
36
-
37
37
  },
38
38
  new() {
39
39
  Id = Guid.NewGuid(),
@@ -43,9 +43,9 @@ public class GetAllOrdersQueryHandlerTest
43
43
  TypeDocument = "CC",
44
44
  Id = Guid.NewGuid()
45
45
  },
46
- CompletedAt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
46
+ CompletedAt = SystemClock.Instance.GetCurrentInstant(),
47
47
  CreatedBy = Guid.NewGuid(),
48
- CreatedAt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
48
+ CreatedAt = SystemClock.Instance.GetCurrentInstant(),
49
49
  IsActive = true,
50
50
  Products = [
51
51
  new(){
@@ -61,7 +61,11 @@ public class GetAllOrdersQueryHandlerTest
61
61
 
62
62
  var orderRepositoryMock = new Mock<IOrderRepository>();
63
63
  var mapperMock = new Mock<IMapper>();
64
- var queryHandler = new GetAllOrdersQueryHandler(orderRepositoryMock.Object, mapperMock.Object);
64
+ var userContextMock = new Mock<IUserContext>();
65
+
66
+ userContextMock.SetupGet(x => x.Tenant).Returns(tenant);
67
+
68
+ var queryHandler = new GetAllOrdersQueryHandler(orderRepositoryMock.Object, mapperMock.Object, userContextMock.Object);
65
69
 
66
70
  mapperMock.Setup(x => x.Map<List<OrderDto>>(It.IsAny<List<OrderAggregate>>())).Returns(orders);
67
71
 
@@ -73,7 +77,7 @@ public class GetAllOrdersQueryHandlerTest
73
77
  Assert.NotEmpty(result);
74
78
  Assert.Equal(orders.Count, result.Count);
75
79
 
76
- orderRepositoryMock.Verify(x => x.MatchingAsync<OrderAggregate>(criteria, It.IsAny<CancellationToken>()), Times.Once);
80
+ orderRepositoryMock.Verify(x => x.MatchingAsync<OrderAggregate>(criteria, tenant, It.IsAny<CancellationToken>()), Times.Once);
77
81
  mapperMock.Verify(x => x.Map<List<OrderDto>>(It.IsAny<List<OrderAggregate>>()), Times.Once);
78
82
  }
79
83
 
@@ -9,6 +9,7 @@ global using Mapster;
9
9
  global using MapsterMapper;
10
10
  global using C = CodeDesignPlus.Net.Core.Abstractions.Models.Criteria;
11
11
  global using CodeDesignPlus.Net.Serializers;
12
+ global using NodaTime;
12
13
 
13
14
  global using CodeDesignPlus.Net.Microservice.Application.Order.DataTransferObjects;
14
15
  global using CodeDesignPlus.Net.Microservice.Domain.Enums;
@@ -9,19 +9,19 @@
9
9
  <SonarQubeExclude>true</SonarQubeExclude>
10
10
  </PropertyGroup>
11
11
  <ItemGroup>
12
- <PackageReference Include="coverlet.msbuild" Version="6.0.3">
12
+ <PackageReference Include="coverlet.msbuild" Version="6.0.4">
13
13
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14
14
  <PrivateAssets>all</PrivateAssets>
15
15
  </PackageReference>
16
- <PackageReference Include="coverlet.collector" Version="6.0.3">
16
+ <PackageReference Include="coverlet.collector" Version="6.0.4">
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
20
- <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.5.0-beta.60" />
20
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.5.0-beta.81" />
21
21
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
22
22
  <PackageReference Include="Moq" Version="4.20.72" />
23
- <PackageReference Include="xunit" Version="2.9.2" />
24
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
23
+ <PackageReference Include="xunit" Version="2.9.3" />
24
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
25
25
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
26
26
  <PrivateAssets>all</PrivateAssets>
27
27
  </PackageReference>
@@ -1,7 +1,6 @@
1
1
  global using CodeDesignPlus.Net.xUnit.Microservice.Utils.Logger;
2
2
  global using Microsoft.Extensions.Logging;
3
3
  global using Moq;
4
- global using Newtonsoft.Json;
5
4
  global using System;
6
5
  global using CodeDesignPlus.Net.Serializers;
7
6
 
@@ -6,25 +6,25 @@
6
6
  <IsPackable>false</IsPackable>
7
7
  </PropertyGroup>
8
8
  <ItemGroup>
9
- <PackageReference Include="CodeDesignPlus.Net.Serializers" Version="0.5.0-beta.60" />
10
- <PackageReference Include="coverlet.msbuild" Version="6.0.3">
9
+ <PackageReference Include="CodeDesignPlus.Net.Serializers" Version="0.5.0-beta.81" />
10
+ <PackageReference Include="coverlet.msbuild" Version="6.0.4">
11
11
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
12
12
  <PrivateAssets>all</PrivateAssets>
13
13
  </PackageReference>
14
14
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
15
15
  <PackageReference Include="Moq" Version="4.20.72" />
16
- <PackageReference Include="xunit" Version="2.9.2" />
17
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
16
+ <PackageReference Include="xunit" Version="2.9.3" />
17
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
18
18
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
19
19
  <PrivateAssets>all</PrivateAssets>
20
20
  </PackageReference>
21
- <PackageReference Include="coverlet.collector" Version="6.0.3">
21
+ <PackageReference Include="coverlet.collector" Version="6.0.4">
22
22
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
23
23
  <PrivateAssets>all</PrivateAssets>
24
24
  </PackageReference>
25
25
  </ItemGroup>
26
26
  <ItemGroup>
27
- <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.5.0-beta.60" />
27
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.5.0-beta.81" />
28
28
  </ItemGroup>
29
29
  <ItemGroup>
30
30
  <ProjectReference Include="..\..\..\src\domain\CodeDesignPlus.Net.Microservice.Infrastructure\CodeDesignPlus.Net.Microservice.Infrastructure.csproj" />
@@ -9,17 +9,17 @@
9
9
  <SonarQubeExclude>true</SonarQubeExclude>
10
10
  </PropertyGroup>
11
11
  <ItemGroup>
12
- <PackageReference Include="coverlet.msbuild" Version="6.0.3">
12
+ <PackageReference Include="coverlet.msbuild" Version="6.0.4">
13
13
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14
14
  <PrivateAssets>all</PrivateAssets>
15
15
  </PackageReference>
16
- <PackageReference Include="coverlet.collector" Version="6.0.3">
16
+ <PackageReference Include="coverlet.collector" Version="6.0.4">
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
20
20
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
21
- <PackageReference Include="xunit" Version="2.9.2" />
22
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
21
+ <PackageReference Include="xunit" Version="2.9.3" />
22
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
23
23
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
24
24
  <PrivateAssets>all</PrivateAssets>
25
25
  </PackageReference>
@@ -17,7 +17,7 @@ public class OrderCancelledDomainEventTest
17
17
  Assert.NotNull(domainEvent);
18
18
  Assert.Equal(aggregateId, domainEvent.AggregateId);
19
19
  Assert.Equal(reason, domainEvent.Reason);
20
- Assert.True(domainEvent.CancelledAt > 0);
20
+ Assert.True(domainEvent.CancelledAt > Instant.MinValue);
21
21
  }
22
22
 
23
23
  [Fact]
@@ -27,8 +27,8 @@ public class OrderCancelledDomainEventTest
27
27
  var eventId = Guid.NewGuid();
28
28
  var aggregateId = Guid.NewGuid();
29
29
  var reason = "Some reason";
30
- var cancelledAt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
31
- var occurredAt = DateTime.UtcNow;
30
+ var cancelledAt = SystemClock.Instance.GetCurrentInstant();
31
+ var occurredAt = SystemClock.Instance.GetCurrentInstant();
32
32
  var metadata = new Dictionary<string, object>();
33
33
 
34
34
  // Act
@@ -122,7 +122,7 @@ public class OrderAggregateTest
122
122
  Assert.Equal(shippingAddress.CodePostal, @event.ShippingAddress.CodePostal);
123
123
  Assert.Equal(tenant, @event.Tenant);
124
124
  Assert.Equal(OrderStatus.Created, @event.OrderStatus);
125
- Assert.NotEqual(0, @event.CreatedAt);
125
+ Assert.True(@event.CreatedAt > Instant.MinValue);
126
126
  }
127
127
 
128
128
  [Fact]
@@ -461,7 +461,7 @@ public class OrderAggregateTest
461
461
 
462
462
  Assert.NotNull(@event);
463
463
  Assert.Equal(orderAggregate.Id, @event.AggregateId);
464
- Assert.NotEqual(0, @event.CompletedAt);
464
+ Assert.True(@event.CompletedAt > Instant.MinValue);
465
465
 
466
466
  Assert.NotNull(orderAggregate.UpdatedAt);
467
467
  Assert.Equal(updatedBy, orderAggregate.UpdatedBy);
@@ -2,6 +2,8 @@ global using System;
2
2
  global using CodeDesignPlus.Net.Exceptions;
3
3
  global using CodeDesignPlus.Net.Exceptions.Extensions;
4
4
  global using CodeDesignPlus.Net.Serializers;
5
+ global using NodaTime;
6
+
5
7
 
6
8
  global using CodeDesignPlus.Net.Microservice.Domain.DomainEvents;
7
9
  global using CodeDesignPlus.Net.Microservice.Domain.Enums;
@@ -9,18 +9,18 @@
9
9
  <SonarQubeExclude>true</SonarQubeExclude>
10
10
  </PropertyGroup>
11
11
  <ItemGroup>
12
- <PackageReference Include="coverlet.msbuild" Version="6.0.3">
12
+ <PackageReference Include="coverlet.msbuild" Version="6.0.4">
13
13
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14
14
  <PrivateAssets>all</PrivateAssets>
15
15
  </PackageReference>
16
- <PackageReference Include="coverlet.collector" Version="6.0.3">
16
+ <PackageReference Include="coverlet.collector" Version="6.0.4">
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
20
20
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
21
21
  <PackageReference Include="Moq" Version="4.20.72" />
22
- <PackageReference Include="xunit" Version="2.9.2" />
23
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
22
+ <PackageReference Include="xunit" Version="2.9.3" />
23
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
24
24
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
25
25
  <PrivateAssets>all</PrivateAssets>
26
26
  </PackageReference>