tests/testthat/test-calculate_ieqtls.R

test_that("`calculate_ieqtls()` returns tibble with expected colnames", {

  mocked_perform_gtex_request_json <- function(...) {
    list(
      cellType = "Adipocytes",
      data = list(0.2038),
      datasetId = "gtex_v8",
      enrichmentScores = list(0.6664),
      gencodeId = "ENSG00000203782.5",
      genotypes = list(0),
      regressionCoord = list(
        `0` = list(
          -3.042728,
          3.042728,-0.0232111413501241,-0.00245020517878138
        ),
        `1` = list(-3.042728, 3.042728, 0.21073213891777, -0.157052171868657),
        `2` = list(-3.042728, 3.042728, 0.444675419185664, -0.311654138558532)
      ),
      tissueSiteDetailId = "Adipose_Subcutaneous",
      variantId = "chr1_1099341_T_C_b38"
    )
  }

  testthat::with_mocked_bindings(
    code = {
      ieqtls <- calculate_ieqtls(
        cellType = "Adipocytes",
        tissueSiteDetailId = "Adipose_Subcutaneous",
        gencodeId = "ENSG00000203782.5",
        variantId = "chr1_1099341_T_C_b38"
      )
    },
    perform_gtex_request_json = mocked_perform_gtex_request_json
  )

  expect_identical(
    names(ieqtls),
    c(
      "cellType",
      "data",
      "datasetId",
      "enrichmentScores",
      "gencodeId",
      "genotypes",
      "regressionCoord",
      "tissueSiteDetailId",
      "variantId"
    )
  )

  expect_identical(
    ieqtls$data[[1]],
    0.2038
  )

  expect_identical(
    ieqtls$enrichmentScores[[1]],
    0.6664
  )

  expect_identical(
    ieqtls$genotypes[[1]],
    0
  )

  expect_identical(
    names(ieqtls$regressionCoord[[1]]),
    as.character(0:2)
  )

  skip_if_offline()

  result <-
    calculate_ieqtls(
      cellType = "Adipocytes",
      tissueSiteDetailId = "Adipose_Subcutaneous",
      gencodeId = "ENSG00000203782.5",
      variantId = "chr1_1099341_T_C_b38"
    )

  expect_s3_class(result, "tbl_df")

  expect_identical(
    names(result),
    c(
      "cellType",
      "data",
      "datasetId",
      "enrichmentScores",
      "gencodeId",
      "genotypes",
      "regressionCoord",
      "tissueSiteDetailId",
      "variantId"
    )
  )
})

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.