public async Task Handle_UserNotExists_ExceptionThrown()
        {
            // Arrange
            var query = new GetReaderDetailsQuery()
            {
                UserId = 1
            };

            // Act
            Func <Task> getUserDetails = async() => await _sut.Handle(query, CancellationToken.None);

            // Assert
            getUserDetails.Should().Throw <UserNotFoundException>();
        }
        public async Task Handle_UserExists_UserDetails()
        {
            // Arrange
            var user = new User("FirstName", "LastName", new Email("*****@*****.**"), UserRolesConsts.Reader);

            _libraryContext.Users.Add(user);
            await _libraryContext.SaveChangesAsync();

            var query = new GetReaderDetailsQuery()
            {
                UserId = user.Id
            };

            // Act
            var userDetailsDto = await _sut.Handle(query, CancellationToken.None);

            // Assert
            userDetailsDto.Should().NotBeNull();
            userDetailsDto.Id.Should().Be(user.Id);
        }