コード例 #1
0
        public void GetLatestPoemRevision_InvalidId_ExpectEmptyRevisionDTO()
        {
            //Arrange
            var mockPoemRepository     = new Mock <IEntityRepository <Poem> >();
            var mockRevisionRepository = new Mock <IEntityRepository <PoemRevision> >();

            mockRevisionRepository.Setup(r => r.GetBySpec(It.IsAny <GetLatestRevisionSpec>()))
            .Returns((PoemRevision)null);

            //Act
            var testResult = new ReadPoemService(mockPoemRepository.Object, mockRevisionRepository.Object)
                             .GetLatestPoemRevision(Guid.Empty);

            //Assert
            mockRevisionRepository.Verify(r => r.GetBySpec(It.IsAny <GetLatestRevisionSpec>()));
            Assert.True(new RevisionDTO().IsSame(testResult));
        }
コード例 #2
0
        public void GetPoemById_InvalidId_ExpectEmptyDTO()
        {
            //Arrange
            var expectResult       = new PoemDTO();
            var invalidId          = Guid.Empty;
            var mockPoemRepository = new Mock <IEntityRepository <Poem> >();

            mockPoemRepository.Setup(pr => pr.GetByGuid(invalidId))
            .Returns((Poem)null);
            var mockRevisionRepository = new Mock <IEntityRepository <PoemRevision> >();

            //Act
            var testResult = new ReadPoemService(
                mockPoemRepository.Object, mockRevisionRepository.Object)
                             .GetPoemById(invalidId);

            //Assert
            Assert.True(IsEqual(expectResult, testResult));
        }
コード例 #3
0
        public void GetPoemRevisions_ValidId_ExpectDTOListInCorrectOrder()
        {
            //Arrange
            var poem = new PoemBuilder().Default().Build();
            var mockPoemRepository     = new Mock <IEntityRepository <Poem> >();
            var mockRevisionRepository = new Mock <IEntityRepository <PoemRevision> >();

            mockRevisionRepository.Setup(rr => rr.List(It.IsAny <GetRevisionsSpec>()))
            .Returns(poem.PoemRevisions);

            //Act
            var testResult = new ReadPoemService(
                mockPoemRepository.Object, mockRevisionRepository.Object)
                             .GetPoemRevisions(poem.Id);

            //Assert
            var expectResult = new RevisionList(poem.PoemRevisions);

            Assert.True(IsEqual(expectResult, testResult));
        }
コード例 #4
0
        public void GetPoemRevisions_InvalidId_ExpectEmptyDTOList()
        {
            //Arrange
            var invalidId              = Guid.Empty;
            var mockPoemRepository     = new Mock <IEntityRepository <Poem> >();
            var mockRevisionRepository = new Mock <IEntityRepository <PoemRevision> >();

            mockRevisionRepository.Setup(rr => rr.List(It.IsAny <GetRevisionsSpec>()))
            .Returns(new List <PoemRevision>());

            //Act
            var testResult = new ReadPoemService(
                mockPoemRepository.Object, mockRevisionRepository.Object)
                             .GetPoemRevisions(invalidId);

            //Assert
            var expectResult = new RevisionList(new List <PoemRevision>());

            Assert.True(IsEqual(expectResult, testResult));
        }
コード例 #5
0
        public void GetPoemById_ValidId_ExpectMatchingDTO()
        {
            //Arrange
            var poem         = new PoemBuilder().Default().Build();
            var expectResult = PoemDTO.CreateDTOFromEntity(poem);

            var mockPoemRepository = new Mock <IEntityRepository <Poem> >();

            mockPoemRepository.Setup(pr => pr.GetBySpec(It.IsAny <GetPoemAndPublishedRevisionByIdSpec>()))
            .Returns(poem);
            var mockRevisionRepository = new Mock <IEntityRepository <PoemRevision> >();

            //Act
            var testResult = new ReadPoemService(
                mockPoemRepository.Object, mockRevisionRepository.Object)
                             .GetPoemById(poem.Id);

            //Assert
            Assert.True(IsEqual(expectResult, testResult));
        }
コード例 #6
0
        public void IsNameUsedByOtherPoem_SameNameAsPoemOfInputId_ExpectFalse()
        {
            //Arrange
            var poem         = new PoemBuilder().Default().Build();
            var expectResult = false;

            var mockPoemRepository = new Mock <IEntityRepository <Poem> >();

            mockPoemRepository.Setup(pr => pr.GetBySpec(It.IsAny <GetPoemByNameSpec>()))
            .Returns(poem);
            var mockRevisionRepository = new Mock <IEntityRepository <PoemRevision> >();

            //Act
            var testResult = new ReadPoemService(
                mockPoemRepository.Object, mockRevisionRepository.Object)
                             .IsNameUsedByOtherPoem(poem.Id, poem.Name);

            //Assert
            Assert.Equal(expectResult, testResult);
        }
コード例 #7
0
        public void IsNameUsedByOtherPoem_ExistingName_ExpectTrue()
        {
            //Arrange
            var poem         = new PoemBuilder().Default().Build();
            var expectResult = true;

            var mockPoemRepository = new Mock <IEntityRepository <Poem> >();

            mockPoemRepository.Setup(pr => pr.GetBySpec(It.IsAny <GetPoemByNameSpec>()))
            .Returns(poem);
            var mockRevisionRepository = new Mock <IEntityRepository <PoemRevision> >();

            //Act
            var testResult = new ReadPoemService(
                mockPoemRepository.Object, mockRevisionRepository.Object)
                             .IsNameUsedByOtherPoem(Guid.NewGuid(), poem.Name);

            //Assert
            Assert.Equal(expectResult, testResult);
        }
コード例 #8
0
        public void GetLatestPoemRevision_ValidId_ExpectCorrectRevisionDTO()
        {
            //Arrange
            var poem                   = new PoemBuilder().Default().Build();
            var revision               = poem.PoemRevisions.FirstOrDefault();
            var mockPoemRepository     = new Mock <IEntityRepository <Poem> >();
            var mockRevisionRepository = new Mock <IEntityRepository <PoemRevision> >();

            mockRevisionRepository.Setup(r => r.GetBySpec(It.IsAny <GetLatestRevisionSpec>()))
            .Returns(revision);

            //Act
            var testResult = new ReadPoemService(mockPoemRepository.Object, mockRevisionRepository.Object)
                             .GetLatestPoemRevision(poem.Id);

            //Assert
            mockRevisionRepository.Verify(r => r.GetBySpec(It.IsAny <GetLatestRevisionSpec>()));
            var revisionDTO = RevisionDTO.CreateDTOFromEntity(revision);

            Assert.True(revisionDTO.IsSame(testResult));
        }