diff --git a/R/add_transition_risk_category.R b/R/add_transition_risk_category.R index 2211acb..9e35d21 100644 --- a/R/add_transition_risk_category.R +++ b/R/add_transition_risk_category.R @@ -33,7 +33,7 @@ add_transition_risk_category <- function(data) { mutate(data, transition_risk_category = ifelse( is.na(.data[[col_transition_risk_score()]]), - NA, + NA_character_, categorize_risk( .data[[col_transition_risk_score()]], .data[[col_tr_low_threshold()]], diff --git a/tests/testthat/test-add_transition_risk_category.R b/tests/testthat/test-add_transition_risk_category.R index 6eba8e8..541c715 100644 --- a/tests/testthat/test-add_transition_risk_category.R +++ b/tests/testthat/test-add_transition_risk_category.R @@ -21,3 +21,21 @@ test_that("if input data lacks crucial columns, errors gracefully", { bad <- select(input_data, -all_of(crucial)) expect_error(add_transition_risk_category(bad), crucial) }) + +test_that("if `transition_risk_category` column has only NAs, then class of the column is `character`", { + co2 <- read_csv(toy_emissions_profile_products_ecoinvent()) |> + filter(activity_uuid_product_uuid != "76269c17-78d6-420b-991a-aa38c51b45b7") + all_activities_scenario_sectors <- read_csv(toy_all_activities_scenario_sectors()) |> + filter(activity_uuid_product_uuid == "76269c17-78d6-420b-991a-aa38c51b45b7") + scenarios <- read_csv(toy_sector_profile_any_scenarios()) + + output <- add_thresholds_transition_risk( + co2, + all_activities_scenario_sectors, + scenarios + ) |> + add_transition_risk_category() + + expected_class <- "character" + expect_equal(class(output$transition_risk_category), expected_class) +})