예제 #1
0
        public async Task <ActionResult <RandomPicturesResponseDto> > Get([FromQuery] GetRandomPicturesQuery query)
        {
            var sub = User.Claims.Where(c => c.Type == "sub").Select(c => c.Value).SingleOrDefault();

            if (string.IsNullOrWhiteSpace(sub))
            {
                throw new GeneratorException("Missing 'sub' claim");
            }

            return(await mediator.Send(query));
        }
예제 #2
0
        public async Task GetRandomPicturesQueryHandlerTest()
        {
            // Arrange
            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <Picture, PictureDto>()).CreateMapper();
            var query  = new GetRandomPicturesQuery {
                GroupName = "test", UserId = Guid.NewGuid()
            };
            var handler = new GetRandomPicturesQueryHandler(databaseFixture.Context, mapper, securityTokenService);

            // Act
            var result = await handler.Handle(query, CancellationToken.None);

            var image2 = result.Pictures[0].Image;
            var image1 = result.Pictures[1].Image;

            // Assert
            image1.Should().BeOneOf("image1", "image2");
            image2.Should().BeOneOf("image1", "image2");
        }