public void Run_WhenCalledWithRealRoots_WaitsAndNoError() { var jobRoot = RealRootHelper.GetJobRootNotEmpty(); ReportRoot reportRoot = RealRootHelper.GetReportRootNotEmpty(); Monitor.Run(jobRoot, reportRoot); }
public async Task <ReportRoot> UpdateReportAsync(ReportRoot report, CancellationToken ct = default) { var reportRoot = _reportRepository.Update(report); await _reportRepository.UnitOfWork.SaveEntitiesAsync(ct); return(reportRoot); }
public void CanBeConstructed() { var sut = new ReportRoot(); Assert.NotNull(sut); Assert.True(sut.DomainEvents.Count == 1); Assert.Contains(sut.DomainEvents, i => i is ReportCreatedEvent); }
public void CanBeSerialized() { //Arrange var fakeReport = new ReportRoot(); var sut = new UpdateReportCommand(fakeReport); //Act var json = JsonSerializer.Serialize(sut); //Assert Assert.False(string.IsNullOrEmpty(json)); }
public async Task <ReportRoot> AddReportAsync(IEnumerable <CostItem> costItems, CancellationToken ct = default) { var reportRoot = new ReportRoot(); reportRoot.AddCostItem(costItems); reportRoot = _reportRepository.Add(reportRoot); await _reportRepository.UnitOfWork.SaveEntitiesAsync(ct); return(reportRoot); }
public void CanDetectValidConstruction() { //Arrange var sut = new ReportRoot(); var validationCtx = new ValidationContext(this); //Act var validationResults = sut.Validate(validationCtx); //Assert Assert.True(!validationResults.Any()); Assert.Contains(sut.DomainEvents, i => i is ReportCreatedEvent); }
public void CanBeConstructed() { //Arrange var fakeReport = new ReportRoot(); var sut = new UpdateReportCommand(fakeReport); //Act var hashCode = sut.GetHashCode(); //Assert Assert.NotNull(sut); Assert.Equal(hashCode, sut.GetHashCode()); Assert.Equal(fakeReport, sut.Report); }
public void AreNotEqual() { //Arrange var reportItem = new ReportRoot(); var sut = new ReportCreatedEvent(reportItem); //Act var anotherEvent = new ReportCreatedEvent(reportItem); //Assert Assert.True(sut.ReportItem == reportItem); Assert.True(anotherEvent.ReportItem == reportItem); Assert.False(sut.Equals(anotherEvent)); }
public async Task CanHandleCommand() { //Arrange var mockCostService = new Mock <ICostService>(); var fakeReportItem = new ReportRoot(); mockCostService.Setup(m => m.AddReportAsync(It.IsAny <IEnumerable <CostItem> >(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(fakeReportItem)); var sut = new CreateReportCommandHandler(mockCostService.Object); //Act var result = await sut.Handle(new CreateReportCommand(new List <CostItem>())); //Assert Assert.Equal(result, fakeReportItem); Mock.VerifyAll(); }
public async Task CanDeleteReportItem() { //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); var mockReportRepository = new Mock <IReportRepository>(); var fakeReport = new ReportRoot(); mockUnitOfWork.Setup(m => m.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1)); mockReportRepository.SetupGet(m => m.UnitOfWork).Returns(mockUnitOfWork.Object); mockReportRepository.Setup(m => m.GetAsync(It.IsAny <Guid>())).Returns(Task.FromResult(fakeReport)); mockReportRepository.Setup(m => m.Delete(It.IsAny <ReportRoot>())); var sut = new CostService(mockReportRepository.Object); //Act await sut.DeleteReportAsync(Guid.NewGuid()); //Assert Mock.VerifyAll(); }
public async Task CanAddReportItem() { //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); var mockReportRepository = new Mock <IReportRepository>(); var fakeReport = new ReportRoot(); mockUnitOfWork.Setup(m => m.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1)); mockReportRepository.SetupGet(m => m.UnitOfWork).Returns(mockUnitOfWork.Object); mockReportRepository.Setup(m => m.Add(It.IsAny <ReportRoot>())).Returns(fakeReport); var sut = new CostService(mockReportRepository.Object); //Act var result = await sut.AddReportAsync(new List <CostItem>()); //Assert Assert.Equal(result, fakeReport); Mock.VerifyAll(); }
public async Task CanPublishDomainEventsOnSaveEntities() { //Arrange var entityToAdd = new ReportRoot(); var mockMediator = new Mock <IMediator>(); mockMediator.Setup(m => m.Publish(It.IsAny <IDomainEvent>(), It.IsAny <CancellationToken>())); var sut = _fixture.GetDbContext(mockMediator.Object); //Act var attachedEntity = await sut.AddAsync(entityToAdd); bool result = await sut.SaveEntitiesAsync(new CancellationToken()); //Assert Assert.NotNull(sut); Assert.True(result); Assert.True(attachedEntity.Entity.Id != Guid.Empty); Mock.VerifyAll(); }
public ReportCreatedEvent(ReportRoot reportItem) { ReportItem = reportItem; }