tests/testthat/test-utils.R

test_that(
  "`process_resp_body_linkage_disequilibrium()` handles both valid and empty responses",
  {
    # empty response
    expect_equal(
      process_linkage_disequilibrium_resp_json(list(
        data = list(),
        paging_info = list(
          numberOfPages = 0,
          page = 0,
          maxItemsPerPage = 250,
          totalNumberOfItems = 0
        )
      )),
      tibble::tibble()
    )

    # valid response (`get_linkage_disequilibrium_by_variant_data("chr1_153209639_T_C_b38")`)
    expect_equal(
      process_linkage_disequilibrium_resp_json(list(
        data = list(
          list(
            "chr1_153202482_C_T_b38,chr1_153209639_T_C_b38",
            "0.28083400000000003"
          )
        ),
        paging_info = list(
          numberOfPages = 1,
          page = 0,
          maxItemsPerPage = 250,
          totalNumberOfItems = 162
        )
      )),
      tibble::tibble(
        variantId_1 = "chr1_153202482_C_T_b38",
        variantId_2 = "chr1_153209639_T_C_b38",
        ld = 0.28083400000000003 # should be numeric
      )
    )
  }
)

test_that("`process_clustered_expression_resp_json()` raises expected error with invalid `expression_item_name` argument values", {
  resp_body <- list(
    clusters = "clusters",
    medianExonExpression = "medianExonExpression"
  )

  expect_error(
    process_clustered_expression_resp_json(resp_body, expression_item_name = "medianExonExpression_invalid"),
    "Internal gtexr error - incorrect `expression_item_name`: 'medianExonExpression_invalid'"
  )
})

Try the gtexr package in your browser

Any scripts or data that you put into this service are public.

gtexr documentation built on June 8, 2025, 10:26 a.m.