public async void Service_Returns_All_Albums_With_All_Photos()
        {
            var albums = await controller.Get();

            Assert.NotNull(albums);
            Assert.Equal(100, albums.Count);
            Assert.Equal(50, albums[0].Photos.Count);
        }
        public async Task GetReturnsPhotoDataTest()
        {
            var profileId = Guid.NewGuid();
            var photoId   = Guid.NewGuid();
            var buffer    = Model.Create <byte[]>();

            var query = Substitute.For <IPhotoQuery>();

            using (var data = new MemoryStream(buffer))
            {
                var photo = Model.Ignoring <Photo>(x => x.Data).Create <Photo>().Set(x => x.Data = data)
                            .Set(x => x.ContentType = "image/jpg");

                using (var tokenSource = new CancellationTokenSource())
                {
                    query.GetPhoto(profileId, photoId, tokenSource.Token).Returns(photo);

                    using (var target = new PhotoController(query))
                    {
                        var actual = await target.Get(profileId, photoId, tokenSource.Token).ConfigureAwait(false);

                        var result = actual.Should().BeOfType <FileStreamResult>().Which;

                        result.FileStream.Should().BeSameAs(data);
                        result.ContentType.Should().Be(photo.ContentType);
                    }
                }
            }
        }
예제 #3
0
        public void Get_WhenCalled_ReturnsOkResult()
        {
            var mockService = new Mock <IPhotoService>();

            mockService.Setup(service => service.Photos).Returns(Photos);
            var controller = new PhotoController(mockService.Object, _mapper, _userManager.Object);

            var result = controller.Get();

            Assert.IsInstanceOf <OkObjectResult>(result.Result);
        }
예제 #4
0
        public void Get_WhenCalled_ReturnsAllPhotos()
        {
            var mockService = new Mock <IPhotoService>();

            mockService.Setup(service => service.Photos).Returns(Photos);
            var controller = new PhotoController(mockService.Object, _mapper, _userManager.Object);

            var okResult = controller.Get().Result as OkObjectResult;
            var items    = okResult.Value as IEnumerable <GetPhotoDto>;

            Assert.IsInstanceOf <IEnumerable <GetPhotoDto> >(okResult.Value);
            Assert.AreEqual(3, items.Count());
        }
        private async Task GetReturnsNotFoundWithEmptyProfileIdTest()
        {
            var profileId = Guid.NewGuid();
            var photoId   = Guid.Empty;

            var query = Substitute.For <IPhotoQuery>();

            using (var tokenSource = new CancellationTokenSource())
            {
                using (var target = new PhotoController(query))
                {
                    var actual = await target.Get(profileId, photoId, tokenSource.Token).ConfigureAwait(false);

                    actual.Should().BeOfType <ErrorMessageResult>().Which.StatusCode.Should().Be((int)HttpStatusCode.NotFound);
                }
            }
        }
예제 #6
0
        public async Task<IActionResult> OnGet()
        {
            var token = HttpContext.Request.Cookies["TraverlApp.fun.Token"];
            Trips = new List<TravelAppModels.Models.Trip>();
            var alltrips = ((await _trips.GetAll(token)) as ObjectResult).Value as TravelAppModels.Models.Trip[];

            foreach(var trip in alltrips)
            {
                trip.Photos = new Photo[trip.PhotoIds?.Length ?? 0] ;
                for (int i = 0; i < (trip.PhotoIds?.Length ?? 0); i++)
                {
                    trip.Photos[i] = ((await _photos.Get(trip.PhotoIds[i], token)) as ObjectResult).Value as Photo;
                }
                Trips.Add(trip);
            }

            return Page();
        }