From d3a20236296f7c716e78dce2b1f00ee9a95c7494 Mon Sep 17 00:00:00 2001 From: "amir.gholami" Date: Thu, 1 Jun 2023 20:43:00 +0330 Subject: [PATCH] fix valueobject --- .../src/Flight/Aircrafts/Models/AircraftReadModel.cs | 9 ++++----- src/Services/Flight/src/Flight/Flights/Dtos/FlightDto.cs | 5 +---- .../Features/CreatingFlight/V1/CreateFlightMongo.cs | 3 +-- .../Flight/src/Flight/Flights/Models/FlightReadModel.cs | 3 +-- .../Flight/tests/UnitTest/Flight/FlightMappingTests.cs | 4 ++-- .../Consumers/RegisteringNewUser/V1/RegisterNewUser.cs | 2 +- .../V1/CompleteRegisterPassenger.cs | 6 +++--- .../Passenger/Passengers/Features/PassengerMappings.cs | 3 +++ .../Passenger/Features/CompleteRegisterPassengerTests.cs | 4 ++-- 9 files changed, 18 insertions(+), 21 deletions(-) diff --git a/src/Services/Flight/src/Flight/Aircrafts/Models/AircraftReadModel.cs b/src/Services/Flight/src/Flight/Aircrafts/Models/AircraftReadModel.cs index 893f3df..d80052e 100644 --- a/src/Services/Flight/src/Flight/Aircrafts/Models/AircraftReadModel.cs +++ b/src/Services/Flight/src/Flight/Aircrafts/Models/AircraftReadModel.cs @@ -1,14 +1,13 @@ namespace Flight.Aircrafts.Models; using System; -using Flight.Aircrafts.Models.ValueObjects; public class AircraftReadModel { public required Guid Id { get; init; } - public required AircraftId AircraftId { get; init; } - public required Name Name { get; init; } - public required Model Model { get; init; } - public required ManufacturingYear ManufacturingYear { get; init; } + public required Guid AircraftId { get; init; } + public required string Name { get; init; } + public required string Model { get; init; } + public required int ManufacturingYear { get; init; } public required bool IsDeleted { get; init; } } diff --git a/src/Services/Flight/src/Flight/Flights/Dtos/FlightDto.cs b/src/Services/Flight/src/Flight/Flights/Dtos/FlightDto.cs index d6340cd..1da222e 100644 --- a/src/Services/Flight/src/Flight/Flights/Dtos/FlightDto.cs +++ b/src/Services/Flight/src/Flight/Flights/Dtos/FlightDto.cs @@ -1,9 +1,6 @@ using System; namespace Flight.Flights.Dtos; - -using Aircrafts.Models.ValueObjects; - -public record FlightDto(Guid Id, string FlightNumber, AircraftId AircraftId, Guid DepartureAirportId, +public record FlightDto(Guid Id, string FlightNumber, Guid AircraftId, Guid DepartureAirportId, DateTime DepartureDate, DateTime ArriveDate, Guid ArriveAirportId, decimal DurationMinutes, DateTime FlightDate, Enums.FlightStatus Status, decimal Price); diff --git a/src/Services/Flight/src/Flight/Flights/Features/CreatingFlight/V1/CreateFlightMongo.cs b/src/Services/Flight/src/Flight/Flights/Features/CreatingFlight/V1/CreateFlightMongo.cs index 7913d6c..8d283ab 100644 --- a/src/Services/Flight/src/Flight/Flights/Features/CreatingFlight/V1/CreateFlightMongo.cs +++ b/src/Services/Flight/src/Flight/Flights/Features/CreatingFlight/V1/CreateFlightMongo.cs @@ -3,7 +3,6 @@ namespace Flight.Flights.Features.CreatingFlight.V1; using System; using System.Threading; using System.Threading.Tasks; -using Aircrafts.Models.ValueObjects; using Ardalis.GuardClauses; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Core.Event; @@ -15,7 +14,7 @@ using Models; using MongoDB.Driver; using MongoDB.Driver.Linq; -public record CreateFlightMongo(Guid Id, string FlightNumber, AircraftId AircraftId, DateTime DepartureDate, +public record CreateFlightMongo(Guid Id, string FlightNumber, Guid AircraftId, DateTime DepartureDate, Guid DepartureAirportId, DateTime ArriveDate, Guid ArriveAirportId, decimal DurationMinutes, DateTime FlightDate, Enums.FlightStatus Status, decimal Price, bool IsDeleted = false) : InternalCommand; diff --git a/src/Services/Flight/src/Flight/Flights/Models/FlightReadModel.cs b/src/Services/Flight/src/Flight/Flights/Models/FlightReadModel.cs index dbeec2a..74eec28 100644 --- a/src/Services/Flight/src/Flight/Flights/Models/FlightReadModel.cs +++ b/src/Services/Flight/src/Flight/Flights/Models/FlightReadModel.cs @@ -1,14 +1,13 @@ namespace Flight.Flights.Models; using System; -using Aircrafts.Models.ValueObjects; public class FlightReadModel { public required Guid Id { get; init; } public required Guid FlightId { get; init; } public required string FlightNumber { get; init; } - public required AircraftId AircraftId { get; init; } + public required Guid AircraftId { get; init; } public required DateTime DepartureDate { get; init; } public required Guid DepartureAirportId { get; init; } public required DateTime ArriveDate { get; init; } diff --git a/src/Services/Flight/tests/UnitTest/Flight/FlightMappingTests.cs b/src/Services/Flight/tests/UnitTest/Flight/FlightMappingTests.cs index 495ec0b..12b3513 100644 --- a/src/Services/Flight/tests/UnitTest/Flight/FlightMappingTests.cs +++ b/src/Services/Flight/tests/UnitTest/Flight/FlightMappingTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using Flight.Flights.Dtos; using MapsterMapper; @@ -25,7 +25,7 @@ public class FlightMappingTests yield return new object[] { // these types will instantiate with reflection in the future - typeof(global::Flight.Flights.Models.Flight), typeof(FlightDto) + typeof(global::Flight.Flights.Models.FlightReadModel), typeof(FlightDto) }; } } diff --git a/src/Services/Passenger/src/Passenger/Identity/Consumers/RegisteringNewUser/V1/RegisterNewUser.cs b/src/Services/Passenger/src/Passenger/Identity/Consumers/RegisteringNewUser/V1/RegisterNewUser.cs index db64e39..4818b80 100644 --- a/src/Services/Passenger/src/Passenger/Identity/Consumers/RegisteringNewUser/V1/RegisterNewUser.cs +++ b/src/Services/Passenger/src/Passenger/Identity/Consumers/RegisteringNewUser/V1/RegisterNewUser.cs @@ -38,7 +38,7 @@ public class RegisterNewUserHandler : IConsumer _logger.LogInformation($"consumer for {nameof(UserCreated).Underscore()} in {_options.Name}"); var passengerExist = - await _passengerDbContext.Passengers.AnyAsync(x => x.PassportNumber == PassportNumber.Of(context.Message.PassportNumber)); + await _passengerDbContext.Passengers.AnyAsync(x => x.PassportNumber.Value == PassportNumber.Of(context.Message.PassportNumber).Value); if (passengerExist) { diff --git a/src/Services/Passenger/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs b/src/Services/Passenger/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs index e97043e..0a38709 100644 --- a/src/Services/Passenger/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs +++ b/src/Services/Passenger/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs @@ -97,7 +97,7 @@ internal class CompleteRegisterPassengerCommandHandler : ICommandHandler x.PassportNumber.Value.Equals(PassportNumber.Of(request.PassportNumber)), cancellationToken); + x => x.PassportNumber.Value.Equals(PassportNumber.Of(request.PassportNumber).Value), cancellationToken); if (passenger is null) @@ -108,9 +108,9 @@ internal class CompleteRegisterPassengerCommandHandler : ICommandHandler(updatePassenger.Entity); + var passengerDto = _mapper.Map(updatePassenger); return new CompleteRegisterPassengerResult(passengerDto); } diff --git a/src/Services/Passenger/src/Passenger/Passengers/Features/PassengerMappings.cs b/src/Services/Passenger/src/Passenger/Passengers/Features/PassengerMappings.cs index a0aebb2..4a953d3 100644 --- a/src/Services/Passenger/src/Passenger/Passengers/Features/PassengerMappings.cs +++ b/src/Services/Passenger/src/Passenger/Passengers/Features/PassengerMappings.cs @@ -21,5 +21,8 @@ public class PassengerMappings : IRegister config.NewConfig() .ConstructUsing(x => new PassengerDto(x.PassengerId, x.Name, x.PassportNumber, x.PassengerType, x.Age)); + + config.NewConfig() + .ConstructUsing(x => new PassengerDto(x.Id.Value, x.Name.Value, x.PassportNumber.Value, x.PassengerType, x.Age.Value)); } } diff --git a/src/Services/Passenger/tests/IntegrationTest/Passenger/Features/CompleteRegisterPassengerTests.cs b/src/Services/Passenger/tests/IntegrationTest/Passenger/Features/CompleteRegisterPassengerTests.cs index 91b19c2..ecc88af 100644 --- a/src/Services/Passenger/tests/IntegrationTest/Passenger/Features/CompleteRegisterPassengerTests.cs +++ b/src/Services/Passenger/tests/IntegrationTest/Passenger/Features/CompleteRegisterPassengerTests.cs @@ -23,8 +23,8 @@ public class CompleteRegisterPassengerTests : PassengerIntegrationTestBase var userCreated = new FakeUserCreated().Generate(); await Fixture.Publish(userCreated); - await Fixture.WaitForPublishing(); - await Fixture.WaitForConsuming(); + (await Fixture.WaitForPublishing()).Should().Be(true); + (await Fixture.WaitForConsuming()).Should().Be(true); var command = new FakeCompleteRegisterPassengerCommand(userCreated.PassportNumber).Generate();