public async Task RegisterAmigoTenanttServiceAsync_SendCommand_To_Bus_SendAsync() { DateTime baseTime = new DateTime(2017, 01, 11, 7, 0, 0); DateTimeOffset sourceTime = new DateTimeOffset(baseTime, TimeZoneInfo.Local.GetUtcOffset(baseTime)); var request = new AmigoTenantTEventLogDTO() { ActivityCode = "001", ReportedActivityTimeZone = "America/New_York", ReportedActivityDate = sourceTime }; var command = new RegisterAmigoTenanttEventLogCommand(); var model = activityTypeApplicationService.SearchActivityByCodeAsync(request.ActivityCode).Result.ActivityTypeId; DateTimeZone tz = DateTimeZoneProviders.Tzdb.GetZoneOrNull(request.ReportedActivityTimeZone); A.CallTo(() => _mapper.Map <AmigoTenantTEventLogDTO, RegisterAmigoTenanttEventLogCommand>(request)).Returns(command); //********** ACT ********** var resp = amigoTenantTEventLogApplicationService.RegisterAmigoTenantTEventLogAsync(request); //********** ASSERT ********** A.CallTo(() => _bus.SendAsync(command)).WithAnyArguments().MustHaveHappened(Repeated.Exactly.Once); Assert.NotNull(resp); }
public async Task Call_BusinessEvent_PublishAsync_AmigoTenantTEventLog() { AmigoTenantTEventLog dataItem = null; var message = new RegisterAmigoTenanttEventLogCommand(); var eventcommand = new AmigoTenantTEventLog(); A.CallTo(() => _mapper.Map <RegisterAmigoTenanttEventLogCommand, AmigoTenantTEventLog>(message)).Returns(eventcommand); A.CallTo(() => _repository.Add(null)).WithAnyArguments().Invokes((f) => dataItem = f.Arguments.FirstOrDefault() as AmigoTenantTEventLog); A.CallTo(() => _unitOfWork.CommitAsync()).Invokes(() => eventcommand.AmigoTenantTEventLogId = 1).ReturnsLazily(() => Task.FromResult(0)); //********** ACT ********** await _commandHandler.Handle(message); //********** ASSERT ********** //A.CallTo(() => _bus.PublishAsync(eventcommand)).WithAnyArguments().MustHaveHappened(Repeated.Exactly.Once); Assert.NotNull(eventcommand); }
public async Task Call_UnitOfWork_RegisterAmigoTenantTEventLog_CommandHandler() { var message = new RegisterAmigoTenanttEventLogCommand(); var command = new AmigoTenantTEventLog(); A.CallTo(() => _mapper.Map <RegisterAmigoTenanttEventLogCommand, AmigoTenantTEventLog>(message)).Returns(command); AmigoTenantTEventLog dataItem = null; A.CallTo(() => _repository.Add(null)).WithAnyArguments().Invokes((f) => dataItem = f.Arguments.FirstOrDefault() as AmigoTenantTEventLog); //********** ACT ********** await _commandHandler.Handle(message); //********** ASSERT ********** A.CallTo(() => _unitOfWork.CommitAsync()).MustHaveHappened(Repeated.Exactly.Once); Assert.NotNull(dataItem); }