public async Task <Partner> Handle(CreatePartnerCommand request, CancellationToken cancellationToken) { var coverageArea = new Domain.Entities.MultiPolygon(request.CoverageArea.Coordinates); var address = new Domain.Entities.Point(request.Address.Coordinates); var partner = new Partner(request.TradingName, request.OwnerName, request.Document, coverageArea, address); var partnerId = await _repository.Create(partner); partner.SetId(partnerId); return(partner); }
public async Task Handle_ShouldCreatePartner() { // Arrange var command = new CreatePartnerCommand() { Address = new Geolocalization.Application.Command.Commands.Point(), CoverageArea = new Geolocalization.Application.Command.Commands.MultiPolygon() }; var generatedId = ObjectId.GenerateNewId().ToString(); _repository.Create(Arg.Any <Partner>()).Returns(generatedId); // Act var response = await _handler.Handle(command, default(CancellationToken)); // Assert await _repository.Received(1).Create(Arg.Any <Partner>()); }