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)); }
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)); }
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)); }
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)); }
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)); }
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); }
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); }
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)); }