@@ -44,6 +44,20 @@ mod byoid {
4444 schema. to_owned ( )
4545 }
4646
47+ fn id_unique_constraint_target ( runner : & Runner , model : & str ) -> String {
48+ match runner. connector_version ( ) {
49+ ConnectorVersion :: MySql ( _)
50+ | ConnectorVersion :: Vitess ( Some ( query_tests_setup:: VitessVersion :: PlanetscaleJsWasm ) ) => {
51+ "constraint: `PRIMARY`" . to_owned ( )
52+ }
53+ ConnectorVersion :: Postgres ( _) | ConnectorVersion :: CockroachDb ( _) => {
54+ std:: format!( "constraint: `{model}_pkey`" )
55+ }
56+ ConnectorVersion :: Vitess ( _) => "(not available)" . to_owned ( ) ,
57+ _ => "fields: (`id`)" . to_owned ( ) ,
58+ }
59+ }
60+
4761 // "A Create Mutation" should "create and return item with own Id"
4862 #[ connector_test( schema( schema_1) , only( MySql , Postgres , Sqlite , Vitess ) ) ]
4963 async fn create_and_return_item_woi_1 ( runner : Runner ) -> TestResult < ( ) > {
@@ -54,14 +68,7 @@ mod byoid {
5468 @r###"{"data":{"createOneParent":{"p":"Parent","id":"Own Id"}}}"###
5569 ) ;
5670
57- let error_target = match runner. connector_version ( ) {
58- query_engine_tests:: ConnectorVersion :: MySql ( _)
59- | query_engine_tests:: ConnectorVersion :: Vitess ( Some ( query_tests_setup:: VitessVersion :: PlanetscaleJsWasm ) ) => {
60- "constraint: `PRIMARY`"
61- }
62- query_engine_tests:: ConnectorVersion :: Vitess ( _) => "(not available)" ,
63- _ => "fields: (`id`)" ,
64- } ;
71+ let error_target = id_unique_constraint_target ( & runner, "Parent" ) ;
6572
6673 assert_error ! (
6774 & runner,
@@ -85,14 +92,7 @@ mod byoid {
8592 @r###"{"data":{"createOneParent":{"p":"Parent","id":"Own Id"}}}"###
8693 ) ;
8794
88- let error_target = match runner. connector_version ( ) {
89- query_engine_tests:: ConnectorVersion :: MySql ( _)
90- | query_engine_tests:: ConnectorVersion :: Vitess ( Some ( query_tests_setup:: VitessVersion :: PlanetscaleJsWasm ) ) => {
91- "constraint: `PRIMARY`"
92- }
93- ConnectorVersion :: Vitess ( _) => "(not available)" ,
94- _ => "fields: (`id`)" ,
95- } ;
95+ let error_target = id_unique_constraint_target ( & runner, "Parent" ) ;
9696
9797 assert_error ! (
9898 & runner,
@@ -146,14 +146,7 @@ mod byoid {
146146 @r###"{"data":{"createOneParent":{"p":"Parent","id":"Own Id","childOpt":{"c":"Child","id":"Own Child Id"}}}}"###
147147 ) ;
148148
149- let error_target = match runner. connector_version ( ) {
150- query_engine_tests:: ConnectorVersion :: MySql ( _)
151- | query_engine_tests:: ConnectorVersion :: Vitess ( Some ( query_tests_setup:: VitessVersion :: PlanetscaleJsWasm ) ) => {
152- "constraint: `PRIMARY`"
153- }
154- ConnectorVersion :: Vitess ( _) => "(not available)" ,
155- _ => "fields: (`id`)" ,
156- } ;
149+ let error_target = id_unique_constraint_target ( & runner, "Child" ) ;
157150
158151 assert_error ! (
159152 & runner,
@@ -177,14 +170,7 @@ mod byoid {
177170 @r###"{"data":{"createOneParent":{"p":"Parent","id":"Own Id","childOpt":{"c":"Child","id":"Own Child Id"}}}}"###
178171 ) ;
179172
180- let error_target = match runner. connector_version ( ) {
181- query_engine_tests:: ConnectorVersion :: MySql ( _)
182- | query_engine_tests:: ConnectorVersion :: Vitess ( Some ( query_tests_setup:: VitessVersion :: PlanetscaleJsWasm ) ) => {
183- "constraint: `PRIMARY`"
184- }
185- ConnectorVersion :: Vitess ( _) => "(not available)" ,
186- _ => "fields: (`id`)" ,
187- } ;
173+ let error_target = id_unique_constraint_target ( & runner, "Child" ) ;
188174
189175 assert_error ! (
190176 & runner,
0 commit comments