Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }