Skip to content

Commit

Permalink
Merge pull request #523 from Gilead-BioStats/fix-434
Browse files Browse the repository at this point in the history
Fix #434 - return correct `bStatus`
  • Loading branch information
mattroumaya authored Jun 7, 2022
2 parents 94214d6 + 84d0661 commit 00f6a93
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 30 deletions.
64 changes: 34 additions & 30 deletions R/util-RunAssessment.R
Original file line number Diff line number Diff line change
Expand Up @@ -41,42 +41,46 @@ RunAssessment <- function(lAssessment, lData, lMapping, lTags = NULL, bQuiet = F
lAssessment$lChecks <- list()
lAssessment$bStatus <- TRUE

# Run through each step in lAssessment$workflow
stepCount <- 1
for (step in lAssessment$workflow) {
if (!bQuiet) cli::cli_h2(paste0("Workflow Step ", stepCount, " of ", length(lAssessment$workflow), ": `", step$name, "`"))
if (lAssessment$bStatus) {
result <- gsm::RunStep(
lStep = step,
lMapping = lMapping,
lData = lAssessment$lData,
lTags = c(lTags, lAssessment$tags),
bQuiet = bQuiet
)
if(exists("workflow", where = lAssessment)) {
# Run through each step in lAssessment$workflow
stepCount <- 1
for (step in lAssessment$workflow) {
if (!bQuiet) cli::cli_h2(paste0("Workflow Step ", stepCount, " of ", length(lAssessment$workflow), ": `", step$name, "`"))
if (lAssessment$bStatus) {
result <- gsm::RunStep(
lStep = step,
lMapping = lMapping,
lData = lAssessment$lData,
lTags = c(lTags, lAssessment$tags),
bQuiet = bQuiet
)

lAssessment$checks[[stepCount]] <- result$lChecks
names(lAssessment$checks)[[stepCount]] <- step$name
lAssessment$bStatus <- result$lChecks$status
if (result$lChecks$status) {
cli::cli_alert_success("{.fn {step$name}} Successful")
} else {
cli::cli_alert_warning("{.fn {step$name}} Failed - Skipping remaining steps")
}
lAssessment$checks[[stepCount]] <- result$lChecks
names(lAssessment$checks)[[stepCount]] <- step$name
lAssessment$bStatus <- result$lChecks$status
if (result$lChecks$status) {
cli::cli_alert_success("{.fn {step$name}} Successful")
} else {
cli::cli_alert_warning("{.fn {step$name}} Failed - Skipping remaining steps")
}

if (stringr::str_detect(step$output, "^df")) {
cli::cli_text("Saving {step$output} to `lAssessment$lData`")
lAssessment$lData[[step$output]] <- result$df
if (stringr::str_detect(step$output, "^df")) {
cli::cli_text("Saving {step$output} to `lAssessment$lData`")
lAssessment$lData[[step$output]] <- result$df
} else {
cli::cli_text("Saving {step$output} to `lAssessment`")
lAssessment[[step$output]] <- result
}
} else {
cli::cli_text("Saving {step$output} to `lAssessment`")
lAssessment[[step$output]] <- result
cli::cli_text("Skipping {.fn {step$name}} ...")
}
} else {
cli::cli_text("Skipping {.fn {step$name}} ...")
}

stepCount <- stepCount + 1
stepCount <- stepCount + 1
}
} else {
cli::cli_alert_warning("Workflow not found for {lAssessment$name} assessment - Skipping remaining steps")
lAssessment$bStatus <- FALSE
}


return(lAssessment)
}
12 changes: 12 additions & 0 deletions tests/testthat/test_Study_Assess.R
Original file line number Diff line number Diff line change
Expand Up @@ -222,3 +222,15 @@ test_that("lSubjFilters with 0 rows returns NULL", {

expect_null(tmp)
})

test_that("correct bStatus is returned when workflow is missing", {

custom_assessments <- MakeAssessmentList()
custom_assessments$ie$workflow <- NULL
result <- Study_Assess(
lData = lData,
lAssessments = custom_assessments
)

expect_false(result$ie$bStatus)
})

0 comments on commit 00f6a93

Please sign in to comment.