Skip to content

Commit 436e908

Browse files
authored
Add a test for pagination with programmatic type policies / field policies (#239)
1 parent 4445512 commit 436e908

File tree

9 files changed

+418
-10
lines changed

9 files changed

+418
-10
lines changed

tests/pagination/build.gradle.kts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,18 @@ apollo {
104104
argument("com.apollographql.cache.packageName", packageName.get())
105105
}
106106
}
107-
service("pagination.connectionProgrammatic") {
108-
packageName.set("pagination.connectionProgrammatic")
109-
srcDir("src/commonMain/graphql/pagination/connectionProgrammatic")
107+
service("pagination.connectionProgrammaticConnections") {
108+
packageName.set("pagination.connectionProgrammaticConnections")
109+
srcDir("src/commonMain/graphql/pagination/connectionProgrammaticConnections")
110+
generateDataBuilders.set(true)
111+
112+
plugin("com.apollographql.cache:normalized-cache-apollo-compiler-plugin") {
113+
argument("com.apollographql.cache.packageName", packageName.get())
114+
}
115+
}
116+
service("pagination.connectionProgrammaticTypePolicies") {
117+
packageName.set("pagination.connectionProgrammaticTypePolicies")
118+
srcDir("src/commonMain/graphql/pagination/connectionProgrammaticTypePolicies")
110119
generateDataBuilders.set(true)
111120

112121
plugin("com.apollographql.cache:normalized-cache-apollo-compiler-plugin") {
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
extend schema
2+
@link(url: "https://specs.apollo.dev/cache/v0.3", import: ["@connection"])
3+
4+
extend type UserConnection @connection
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
query Users($first: Int, $after: String, $last: Int, $before: String) {
2+
users(first: $first, after: $after, last: $last, before: $before) {
3+
pageInfo {
4+
startCursor
5+
endCursor
6+
}
7+
edges {
8+
cursor
9+
node {
10+
id
11+
name
12+
email
13+
}
14+
}
15+
}
16+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
type Query {
2+
users(first: Int = 10, after: String = null, last: Int = null, before: String = null): UserConnection!
3+
}
4+
5+
type UserConnection {
6+
pageInfo: PageInfo!
7+
edges: [UserEdge!]!
8+
}
9+
10+
type PageInfo {
11+
hasNextPage: Boolean!
12+
hasPreviousPage: Boolean!
13+
startCursor: String
14+
endCursor: String
15+
}
16+
17+
type UserEdge {
18+
cursor: String!
19+
node: User!
20+
}
21+
22+
type User {
23+
id: ID!
24+
name: String!
25+
email: String!
26+
admin: Boolean
27+
}

tests/pagination/src/commonTest/kotlin/ConnectionProgrammaticPaginationTest.kt renamed to tests/pagination/src/commonTest/kotlin/ConnectionProgrammaticConnectionsPaginationTest.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ import com.apollographql.cache.normalized.api.NormalizedCacheFactory
1010
import com.apollographql.cache.normalized.memory.MemoryCacheFactory
1111
import com.apollographql.cache.normalized.testing.SqlNormalizedCacheFactory
1212
import com.apollographql.cache.normalized.testing.runTest
13-
import pagination.connectionProgrammatic.UsersQuery
14-
import pagination.connectionProgrammatic.type.UserConnection
15-
import pagination.connectionProgrammatic.type.buildPageInfo
16-
import pagination.connectionProgrammatic.type.buildUser
17-
import pagination.connectionProgrammatic.type.buildUserConnection
18-
import pagination.connectionProgrammatic.type.buildUserEdge
13+
import pagination.connectionProgrammaticConnections.UsersQuery
14+
import pagination.connectionProgrammaticConnections.type.UserConnection
15+
import pagination.connectionProgrammaticConnections.type.buildPageInfo
16+
import pagination.connectionProgrammaticConnections.type.buildUser
17+
import pagination.connectionProgrammaticConnections.type.buildUserConnection
18+
import pagination.connectionProgrammaticConnections.type.buildUserEdge
1919
import kotlin.test.Test
2020
import kotlin.test.assertEquals
2121

22-
class ConnectionProgrammaticPaginationTest {
22+
class ConnectionProgrammaticConnectionsPaginationTest {
2323
@Test
2424
fun memoryCache() {
2525
test(MemoryCacheFactory())

0 commit comments

Comments
 (0)