示例#1
0
        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);
        }
示例#2
0
        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>());
        }