public void CreatedGrmEventsAreRolledBackWhenCreateBaseValueSegmentTransactionDuringSavingHasException() { _mockRepository.Setup(x => x.GetUserTransactionType()) .Returns(new BaseValueSegmentTransactionType { Id = 3, Name = "foo" }); _mockRepository.Setup(x => x.GetUserDeletedTransactionType()) .Returns(new BaseValueSegmentTransactionType { Id = 5, Name = "del", Description = "del" }); var transaction = BaseValueSegmentHelper.CreateMockTransactionDto(); _mockGrmEventDomain.Setup(x => x.CreateForTransaction(It.Is <BaseValueSegmentTransactionDto>(b => !b.Id.HasValue))) .ReturnsAsync(new[] { 43, 63, 41 }); _mockTransactionRepository.Setup(x => x.CreateAsync( It.IsAny <BaseValueSegmentTransaction>(), It.IsAny <List <BaseValueSegmentOwnerValue> >())) .Throws <Exception>(); Should.ThrowAsync <Exception>(() => _baseValueSegmentTransactionDomain.CreateAsync(transaction)); _mockGrmEventDomain.Verify(x => x.Delete(new[] { 43, 63, 41 }), Times.Once); _mockTransactionRepository.Verify(x => x.CreateAsync( It.IsAny <BaseValueSegmentTransaction>(), It.IsAny <List <BaseValueSegmentOwnerValue> >()), Times.Once); }
public void CreateAsyncCreatesBothGrmEventsAndRelatedBaseValueSegmentTransactionEntities() { _mockRepository.Setup(x => x.GetUserTransactionType()) .Returns(new BaseValueSegmentTransactionType { Id = 3, Name = "foo" }); _mockRepository.Setup(x => x.GetUserDeletedTransactionType()) .Returns(new BaseValueSegmentTransactionType { Id = 5, Name = "del", Description = "del" }); var transaction = BaseValueSegmentHelper.CreateMockTransactionDto(); _mockGrmEventDomain.Setup(x => x.CreateForTransaction(It.Is <BaseValueSegmentTransactionDto>(b => !b.Id.HasValue))) .ReturnsAsync(new[] { 43, 63, 41 }); var result = _baseValueSegmentTransactionDomain.CreateAsync(transaction).Result; result.ShouldNotBeNull(); result.Id.ShouldNotBeNull(); var owner = result.BaseValueSegmentOwners.Single(); owner.LegalPartyRoleId.ShouldBe(46); owner.BeneficialInterestPercent.ShouldBe(100); owner.Id.ShouldNotBeNull(); _mockTransactionRepository.Verify(x => x.CreateAsync( It.IsAny <BaseValueSegmentTransaction>(), It.IsAny <List <BaseValueSegmentOwnerValue> >()), Times.Once); _mockGrmEventDomain.Verify(x => x.CreateForTransaction(It.Is <BaseValueSegmentTransactionDto>(b => !b.Id.HasValue)), Times.Once); _mockGrmEventDomain.Verify(x => x.Delete(It.IsAny <int[]>()), Times.Never); }
public void CreateAsyncCreatesBothGrmEventsAndRelatedBaseValueSegmentEntities() { _mockRepository.Setup(x => x.GetUserTransactionType()) .Returns(new BaseValueSegmentTransactionType { Id = 3, Name = "foo", Description = "foo" }); _mockRepository.Setup(x => x.GetNewStatusType()) .Returns(new BaseValueSegmentStatusType { Id = 4, Name = "bar", Description = "bar" }); _mockRepository.Setup(x => x.GetUserDeletedTransactionType()) .Returns(new BaseValueSegmentTransactionType { Id = 5, Name = "del", Description = "del" }); var baseValueSegment = BaseValueSegmentHelper.CreateMockDto(); _mockGrmEventDomain.Setup(x => x.Create(It.Is <BaseValueSegmentDto>(b => !b.Id.HasValue))) .ReturnsAsync(new[] { 43, 63, 41 }); var result = _baseValueSegmentDomain.CreateAsync(baseValueSegment).Result; result.ShouldNotBeNull(); result.Id.ShouldNotBeNull(); result.AsOf.ShouldBe(baseValueSegment.AsOf); result.AssessmentEventTransactionId.ShouldNotBe(435); result.BaseValueSegmentTransactions.Count.ShouldBe(1); var transaction = result.BaseValueSegmentTransactions.Single(); transaction.BaseValueSegmentId.ShouldNotBeNull(); transaction.BaseValueSegmentOwners.Count.ShouldBe(1); transaction.BaseValueSegmentTransactionType.Name.ShouldBe("foo"); transaction.BaseValueSegmentTransactionType.Description.ShouldBe("foo"); var owner = transaction.BaseValueSegmentOwners.Single(); owner.LegalPartyRoleId.ShouldBe(46); owner.BeneficialInterestPercent.ShouldBe(100); owner.Id.ShouldNotBeNull(); result.BaseValueSegmentAssessmentRevisions.Count.ShouldBe(1); var assessmentRevision = result.BaseValueSegmentAssessmentRevisions.Single(); assessmentRevision.ReviewMessage.ShouldBe("foo bar"); assessmentRevision.BaseValueSegmentStatusType.Name.ShouldBe("bar"); assessmentRevision.BaseValueSegmentStatusType.Description.ShouldBe("bar"); _mockRepository.Verify(x => x.CreateAsync( It.IsAny <Repository.Models.V1.BaseValueSegment>(), It.IsAny <List <BaseValueSegmentOwnerValue> >()), Times.Once); _mockGrmEventDomain.Verify(x => x.Create(It.Is <BaseValueSegmentDto>(b => !b.Id.HasValue)), Times.Once); _mockGrmEventDomain.Verify(x => x.Delete(It.IsAny <int[]>()), Times.Never); }
public void BaseValueSegmentToEntityDoesNotFail() { var baseValueSegment = BaseValueSegmentHelper.CreateMockDto(); Should.NotThrow(() => baseValueSegment.ToEntity()); }