public async void AddLostDogSuccessfulForValidPostDogWithImage() { var shelterRepo = new Mock <IShelterRepository>(); var shelterDogRepo = new Mock <IShelterDogRepository>(); var security = new Mock <ISecurityService>(); var account = new Mock <IAccountService>(); using var memoryStream = new MemoryStream(new byte[] { 1, 2, 3, 4 }); var picture = new FormFile(memoryStream, 0, memoryStream.Length, "name", "filename") { Headers = new HeaderDictionary(), ContentType = "image/jpeg" }; var dogDto = new UploadShelterDogDto(); var dog = mapper.Map <ShelterDog>(dogDto); shelterDogRepo.Setup(o => o.AddShelterDog(It.IsAny <ShelterDog>())).Returns((ShelterDog d) => Task.FromResult(new RepositoryResponse <ShelterDog>() { Data = d })); security.Setup(s => s.IsPictureValid(It.IsAny <IFormFile>())).Returns((IFormFile f) => new ServiceResponse()); var service = new ShelterService(shelterRepo.Object, shelterDogRepo.Object, account.Object, security.Object, mapper, logger); Assert.True((await service.AddShelterDog(dogDto, picture)).Successful); }
public async void AddLostDogFailsForValidPostDogAndInvalidImage() { var shelterRepo = new Mock <IShelterRepository>(); var shelterDogRepo = new Mock <IShelterDogRepository>(); var security = new Mock <ISecurityService>(); var account = new Mock <IAccountService>(); var picture = new FormFile(null, 0, 0, "name", "filename"); var dogDto = new UploadShelterDogDto(); var dog = mapper.Map <ShelterDog>(dogDto); shelterDogRepo.Setup(o => o.AddShelterDog(dog)).Returns(Task.FromResult(new RepositoryResponse <ShelterDog>() { Data = dog })); security.Setup(s => s.IsPictureValid(It.IsAny <IFormFile>())).Returns((IFormFile f) => new ServiceResponse() { Successful = false }); var service = new ShelterService(shelterRepo.Object, shelterDogRepo.Object, account.Object, security.Object, mapper, logger); Assert.False((await service.AddShelterDog(dogDto, null)).Successful); }