Skip to content

Commit 685dcd5

Browse files
authored
fix: update sharding tests to work with all MySQL versions (#5475)
The tests are failing on main because we only run MySQL 8 tests in pull requests which hid a few issues before merging: - Snapshot tests relied on implicit ordering which differs between MySQL versions. - `complex_queries` test suite schema used features not available in MySQL 5.6. This commit adds some `orderBy` arguments to make the failing snapshots consistent between MySQL 5.6, MySQL 5.7, MySQL 8 and MariaDB, and skips the whole `complex_queries` test suite for MySQL 5.6. Closes: https://linear.app/prisma-company/issue/ORM-1068/fix-mysql-tests-failing-on-main
1 parent 6afa645 commit 685dcd5

1 file changed

Lines changed: 29 additions & 23 deletions

File tree

query-engine/connector-test-kit-rs/query-engine-tests/tests/sharding/complex_queries.rs

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use query_engine_tests::*;
22

3-
#[test_suite(only(MySql))]
3+
#[test_suite(only(MySql), exclude(MySql("5.6")))]
44
mod shard_complex {
55
use indoc::indoc;
66

@@ -317,22 +317,25 @@ mod shard_complex {
317317
let result = run_query!(
318318
&runner,
319319
r#"query {
320-
findManyUser(where: {
321-
OR: [
322-
{
323-
AND: [
324-
{ region: "us-east-1" },
325-
{ score: { gte: 150 } }
326-
]
327-
},
328-
{
329-
AND: [
330-
{ region: "eu-west-1" },
331-
{ score: { gte: 250 } }
332-
]
333-
}
334-
]
335-
}) {
320+
findManyUser(
321+
where: {
322+
OR: [
323+
{
324+
AND: [
325+
{ region: "us-east-1" },
326+
{ score: { gte: 150 } }
327+
]
328+
},
329+
{
330+
AND: [
331+
{ region: "eu-west-1" },
332+
{ score: { gte: 250 } }
333+
]
334+
}
335+
]
336+
}
337+
orderBy: { id: asc }
338+
) {
336339
id
337340
firstName
338341
score
@@ -344,7 +347,7 @@ mod shard_complex {
344347
assert!(result.contains("user-3")); // us-east-1 with score 150
345348
assert!(result.contains("user-4")); // eu-west-1 with score 300
346349

347-
insta::assert_snapshot!(result, @r#"{"data":{"findManyUser":[{"id":"user-4","firstName":"Alice","score":300,"region":"eu-west-1"},{"id":"user-3","firstName":"Bob","score":150,"region":"us-east-1"}]}}"#);
350+
insta::assert_snapshot!(result, @r#"{"data":{"findManyUser":[{"id":"user-3","firstName":"Bob","score":150,"region":"us-east-1"},{"id":"user-4","firstName":"Alice","score":300,"region":"eu-west-1"}]}}"#);
348351

349352
Ok(())
350353
}
@@ -357,10 +360,13 @@ mod shard_complex {
357360
let result = run_query!(
358361
&runner,
359362
r#"query {
360-
findManyUser(where: {
361-
region: { in: ["us-east-1", "eu-west-1"] }
362-
score: { in: [100, 300] }
363-
}) {
363+
findManyUser(
364+
where: {
365+
region: { in: ["us-east-1", "eu-west-1"] }
366+
score: { in: [100, 300] }
367+
}
368+
orderBy: { id: asc }
369+
) {
364370
id
365371
firstName
366372
score
@@ -372,7 +378,7 @@ mod shard_complex {
372378
assert!(result.contains("user-1")); // us-east-1, score 100
373379
assert!(result.contains("user-4")); // eu-west-1, score 300
374380

375-
insta::assert_snapshot!(result, @r#"{"data":{"findManyUser":[{"id":"user-4","firstName":"Alice","score":300,"region":"eu-west-1"},{"id":"user-1","firstName":"John","score":100,"region":"us-east-1"}]}}"#);
381+
insta::assert_snapshot!(result, @r#"{"data":{"findManyUser":[{"id":"user-1","firstName":"John","score":100,"region":"us-east-1"},{"id":"user-4","firstName":"Alice","score":300,"region":"eu-west-1"}]}}"#);
376382

377383
Ok(())
378384
}

0 commit comments

Comments
 (0)