public async Task WhenValidationErrorsDoNotCallWebRepo() { //arrange var errorValidator = new PhotoAlbumValidatorModel() { Id = 1, ValidationResults = new List <ValidationResult>() { new ValidationResult("generic error") } }; var validatorMock = new Mock <IPhotoAlbumInputValidator>(); validatorMock.Setup(v => v.ValidateInput(It.IsAny <string>())).Returns(errorValidator); var webRepoMock = new Mock <IPhotoAlbumWebRepo>(); webRepoMock.Setup(w => w.GetPhotoById(It.IsAny <int>())).ReturnsAsync(new List <PhotoModel>()); var systemUnderTest = new PhotoAlbumComponent(validatorMock.Object, webRepoMock.Object); //act await systemUnderTest.DoPhotoAlbumWork(It.IsAny <string>()); //asert validatorMock.Verify(v => v.ValidateInput(It.IsAny <string>()), Times.Once); webRepoMock.Verify(v => v.GetPhotoById(It.IsAny <int>()), Times.Never); }
public async Task HappyPathListWithStuff() { //arrange var passingValidator = new PhotoAlbumValidatorModel() { Id = 1, ValidationResults = new List <ValidationResult>() }; var validatorMock = new Mock <IPhotoAlbumInputValidator>(); validatorMock.Setup(v => v.ValidateInput(It.IsAny <string>())).Returns(passingValidator); var webRepoMock = new Mock <IPhotoAlbumWebRepo>(); var fakeList = GetFakeList(); webRepoMock.Setup(w => w.GetPhotoById(It.IsAny <int>())).ReturnsAsync(fakeList); var systemUnderTest = new PhotoAlbumComponent(validatorMock.Object, webRepoMock.Object); //act await systemUnderTest.DoPhotoAlbumWork(It.IsAny <string>()); //asert validatorMock.Verify(v => v.ValidateInput(It.IsAny <string>()), Times.Once); webRepoMock.Verify(v => v.GetPhotoById(It.IsAny <int>()), Times.Once); }