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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        public void BaseValueSegmentToEntityDoesNotFail()
        {
            var baseValueSegment = BaseValueSegmentHelper.CreateMockDto();

            Should.NotThrow(() => baseValueSegment.ToEntity());
        }