You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: order_by_relevance.rs
    path of file: ./repos/prisma-engines/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/order_and_pagination
    
    the code of the file until where you have to start completion: use query_engine_tests::*;

async fn on_unknown_field(runner: Runner) -> TestResult<()> {
    create_test_data(&runner).await?;

    assert_error!(
        &runner,
        r#"{ findManyTestModel(orderBy: { _relevance: { fields: unknown, search: "developer", sort: desc } }) { id } }"#,
        2009,
        "Unable to match input value to any allowed input type for the field"
    );

    Ok(())
}

async fn on_single_field(runner: Runner) -> TestResult<()> {
    create_test_data(&runner).await?;

    match_connector_result!(
      &runner,
      r#"{ findManyTestModel(orderBy: { _relevance: { fields: fieldA, search: "developer", sort: desc } }) { id } }"#,
      // For MySql id 3 and id 1 row have the same ranking score so they are switched between position 2 and 3
      MySql(_) => vec![r#"{"data":{"findManyTestModel":[{"id":2},{"id":3},{"id":1}]}}"#, r#"{"data":{"findManyTestModel":[{"id":2},{"id":1},{"id":3}]}}"#],
      _ => vec![r#"{"data":{"findManyTe
    
async fn on_many_fields_with_pagination(runner: Runner) -> TestResult<()> {
    create_test_data(&runner).await?;

    // On required field
    // ID   fieldA                            fieldB                 fieldC        relevance
    // 1, "developer",              "developer developer developer", NULL            4
    // 2, "developer developer",    "developer",                     NULL            3
    // 3, "a developer",            "developer",                     "developer"     2
    // ORDER BY RELEVANCE on [fieldA, fieldB]
    // (1, 2, 3)
    // CURSOR on 2, skip 1, take 1
    // (3)
    insta::assert_snapshot!(
      run_query!(&runner, r#"{ findManyTestModel(
            cursor: { id: 2 },
            skip: 1,
            take: 1,
            orderBy: { _relevance: { fields: [fieldA, fieldB], search: "developer", sort: desc } }
          ) { id } }"#),
      @r###"{"data":{"findManyTestModel":[{"id":3}]}}"###
    );

    // On nullable field
    // ID   fieldA                            fieldB                 fieldC        relevance
    // 1, "developer",              "developer developer developer", NULL             3
    // 2, "developer developer",    "developer",                     NULL             1
    // 3, "a developer",            "developer",                     "developer"      2
    // ORDER BY RELEVANCE on [fieldB, fieldC] DESC
    // (1, 3, 2)
    // CURSOR on 3, skip 1, take 1
    // (2)
    insta::assert_snapshot!(
      run_query!(&runner, r#"{ findManyTestModel(
            cursor: { id: 3 },
            skip: 1,
            take: 1,
            orderBy: { _relevance: { fields: [fieldB, fieldC], search: "developer", sort: desc } }
          ) { id } }"#),
      @r###"{"data":{"findManyTestModel":[{"id":2}]}}"###
    );

    // On required field with pagination & order-by scalar
    // ID   fieldA                            fieldB                 fieldC         relevance
    // 1, "developer",              "developer developer developer", NULL               4
    // 2, "developer developer",    "developer",                     NULL               3
    // 3, "a developer",            "developer",                     "developer"        2
    // ORDER BY RELEVANCE on [fieldA, fieldB] DESC
    // (1, 2, 3)
    // ORDER BY fieldA asc
    // (3, 1, 2)
    // CURSOR on 1, skip 1
    // (2)
    insta::assert_snapshot!(
      run_query!(&runner, r#"{ findManyTestModel(
            cursor: { id: 1 },
            skip: 1,
            orderBy: [
              { _relevance: { fields: [fieldA, fieldB], search: "developer", sort: desc } },
              { fieldA: asc }
            ]
          ) { id } }"#),
      @r###"{"data":{"findManyTestModel":[{"id":2},{"id":3}]}}"###
    );

    Ok(())
}