Using the accepted answer from [List schema permissions](https://social.msdn.microsoft.com/Forums/sqlserver/en-US/fe9d6dba-3bff-4250-aa26-45c90c96f476/list-schema-permissions?forum=sqlsecurity), this would probably give you what you want.

Setup for demonstration:

```sql
CREATE DATABASE listschema
GO
    
USE listschema
GO
    
CREATE SCHEMA TestSchema
GO
    
CREATE USER TestUser WITHOUT LOGIN
GO
    
GRANT SELECT
    ON SCHEMA::TestSchema
    TO TestUser
    
DENY INSERT
    ON SCHEMA::TestSchema
    TO TestUser
GO
```

The actual query for the question:

```sql
SELECT state_desc
    ,permission_name
    ,'ON'
    ,class_desc
    ,SCHEMA_NAME(major_id)
    ,'TO'
    ,USER_NAME(grantee_principal_id)
FROM sys.database_permissions AS PERM
JOIN sys.database_principals AS Prin
    ON PERM.major_ID = Prin.principal_id
        AND class_desc = 'SCHEMA'
WHERE major_id = SCHEMA_ID('TestSchema')
    AND grantee_principal_id = user_id('TestUser')
    --AND    permission_name = 'SELECT'
GO
```

Demonstration cleanup

```sql
USE tempdb
GO
    
DROP DATABASE listschema
```

Query result:

| state_desc | permission_name | (No column name) | class_desc | (No column name) | (No column name) | (No column name) |
|------------|-----------------|------------------|------------|------------------|------------------|------------------|
| DENY       | INSERT          | ON               | SCHEMA     | TestSchema       | TO               | TestUser         |
| GRANT      | SELECT          | ON               | SCHEMA     | TestSchema       | TO               | TestUser         |