Skip to content

Commit 84b2036

Browse files
authored
refactor: move views write tests from tests/queries to tests/writes (#5540)
Follow up to #5536
1 parent 3cf9fe8 commit 84b2036

3 files changed

Lines changed: 92 additions & 79 deletions

File tree

query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/views.rs

Lines changed: 0 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -73,85 +73,6 @@ mod views {
7373
Ok(())
7474
}
7575

76-
#[connector_test]
77-
async fn no_create_one_mutation(runner: Runner) -> TestResult<()> {
78-
test_no_toplevel_mutation(
79-
runner,
80-
"no_create_one_mutation",
81-
r#"mutation { createOneTestView(data: { firstName: "Test", lastName: "User", fullName: "Test User" }) { id } }"#
82-
).await
83-
}
84-
85-
#[connector_test]
86-
async fn no_update_one_mutation(runner: Runner) -> TestResult<()> {
87-
test_no_toplevel_mutation(
88-
runner,
89-
"no_update_one_mutation",
90-
r#"mutation { updateOneTestView(where: { id: 1 }, data: { firstName: "Updated" }) { id } }"#,
91-
)
92-
.await
93-
}
94-
95-
#[connector_test]
96-
async fn no_delete_one_mutation(runner: Runner) -> TestResult<()> {
97-
test_no_toplevel_mutation(
98-
runner,
99-
"no_delete_one_mutation",
100-
r#"mutation { deleteOneTestView(where: { id: 1 }) { id } }"#,
101-
)
102-
.await
103-
}
104-
105-
#[connector_test]
106-
async fn no_upsert_one_mutation(runner: Runner) -> TestResult<()> {
107-
test_no_toplevel_mutation(
108-
runner,
109-
"no_upsert_one_mutation",
110-
r#"mutation { upsertOneTestView(where: { id: 1 }, create: { firstName: "New", lastName: "User", fullName: "New User" }, update: { firstName: "Updated" }) { id } }"#
111-
).await
112-
}
113-
114-
#[connector_test]
115-
async fn no_create_many_mutation(runner: Runner) -> TestResult<()> {
116-
test_no_toplevel_mutation(
117-
runner,
118-
"no_create_many_mutation",
119-
r#"mutation { createManyTestView(data: [{ firstName: "Test", lastName: "User", fullName: "Test User" }]) { count } }"#
120-
).await
121-
}
122-
123-
#[connector_test]
124-
async fn no_update_many_mutation(runner: Runner) -> TestResult<()> {
125-
test_no_toplevel_mutation(
126-
runner,
127-
"no_update_many_mutation",
128-
r#"mutation { updateManyTestView(where: { id: 1 }, data: { firstName: "Updated" }) { count } }"#,
129-
)
130-
.await
131-
}
132-
133-
#[connector_test]
134-
async fn no_delete_many_mutation(runner: Runner) -> TestResult<()> {
135-
test_no_toplevel_mutation(
136-
runner,
137-
"no_delete_many_mutation",
138-
r#"mutation { deleteManyTestView(where: { id: { gt: 0 } }) { count } }"#,
139-
)
140-
.await
141-
}
142-
143-
async fn test_no_toplevel_mutation(runner: Runner, schema_name: &str, query: &str) -> TestResult<()> {
144-
create_test_data(&runner, schema_name).await?;
145-
146-
match runner.query(query).await {
147-
Ok(res) => res.assert_failure(2009, None),
148-
Err(TestError::QueryConversionError(err)) if err.kind().code() == "P2009" => (),
149-
Err(err) => return Err(err),
150-
}
151-
152-
Ok(())
153-
}
154-
15576
async fn create_test_data(runner: &Runner, schema_name: &str) -> TestResult<()> {
15677
migrate_view(runner, schema_name).await?;
15778

query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ mod relations;
88
mod top_level_mutations;
99
mod unchecked_writes;
1010
mod uniques_and_node_selectors;
11+
mod views;
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
use query_engine_tests::*;
2+
3+
#[test_suite(schema(schema))]
4+
mod views {
5+
fn schema() -> String {
6+
let schema = indoc! {
7+
r#"model TestModel {
8+
#id(id, Int, @id)
9+
firstName String
10+
lastName String
11+
}
12+
13+
view TestView {
14+
#id(id, Int, @id)
15+
16+
firstName String
17+
lastName String
18+
fullName String
19+
}
20+
"#
21+
};
22+
23+
schema.to_owned()
24+
}
25+
26+
#[connector_test]
27+
async fn no_create_one_mutation(runner: Runner) -> TestResult<()> {
28+
test_no_toplevel_mutation(
29+
runner,
30+
r#"mutation { createOneTestView(data: { firstName: "Test", lastName: "User", fullName: "Test User" }) { id } }"#
31+
).await
32+
}
33+
34+
#[connector_test]
35+
async fn no_update_one_mutation(runner: Runner) -> TestResult<()> {
36+
test_no_toplevel_mutation(
37+
runner,
38+
r#"mutation { updateOneTestView(where: { id: 1 }, data: { firstName: "Updated" }) { id } }"#,
39+
)
40+
.await
41+
}
42+
43+
#[connector_test]
44+
async fn no_delete_one_mutation(runner: Runner) -> TestResult<()> {
45+
test_no_toplevel_mutation(runner, r#"mutation { deleteOneTestView(where: { id: 1 }) { id } }"#).await
46+
}
47+
48+
#[connector_test]
49+
async fn no_upsert_one_mutation(runner: Runner) -> TestResult<()> {
50+
test_no_toplevel_mutation(
51+
runner,
52+
r#"mutation { upsertOneTestView(where: { id: 1 }, create: { firstName: "New", lastName: "User", fullName: "New User" }, update: { firstName: "Updated" }) { id } }"#
53+
).await
54+
}
55+
56+
#[connector_test]
57+
async fn no_create_many_mutation(runner: Runner) -> TestResult<()> {
58+
test_no_toplevel_mutation(
59+
runner,
60+
r#"mutation { createManyTestView(data: [{ firstName: "Test", lastName: "User", fullName: "Test User" }]) { count } }"#
61+
).await
62+
}
63+
64+
#[connector_test]
65+
async fn no_update_many_mutation(runner: Runner) -> TestResult<()> {
66+
test_no_toplevel_mutation(
67+
runner,
68+
r#"mutation { updateManyTestView(where: { id: 1 }, data: { firstName: "Updated" }) { count } }"#,
69+
)
70+
.await
71+
}
72+
73+
#[connector_test]
74+
async fn no_delete_many_mutation(runner: Runner) -> TestResult<()> {
75+
test_no_toplevel_mutation(
76+
runner,
77+
r#"mutation { deleteManyTestView(where: { id: { gt: 0 } }) { count } }"#,
78+
)
79+
.await
80+
}
81+
82+
async fn test_no_toplevel_mutation(runner: Runner, query: &str) -> TestResult<()> {
83+
match runner.query(query).await {
84+
Ok(res) => res.assert_failure(2009, None),
85+
Err(TestError::QueryConversionError(err)) if err.kind().code() == "P2009" => (),
86+
Err(err) => return Err(err),
87+
}
88+
89+
Ok(())
90+
}
91+
}

0 commit comments

Comments
 (0)