context("POST ISSUES functions - integration test")
skip_if_not(interactive(), "This set of tests should only be run manually")
experigit <- create_repo_ref('emilyriederer', 'experigit')
# post issues
issue1 <- post_issue(experigit, title = "0 labels, 1 assignee", assignees = 'emilyriederer')
issue2 <- post_issue(experigit, title = "1 label, 1 assignee", labels = 'bug', assignees = 'emilyriederer')
issue3 <- post_issue(experigit, title = "2 labels, 0 assignees", labels = c('bug', 'enhancement'))
issue4 <- post_issue(experigit, title = "2 labels, 0 assignees", distinct = FALSE )
# get issues
issue1_res <- get_issues(experigit, number = issue1)
issue2_res <- get_issues(experigit, number = issue2)
issue3_res <- get_issues(experigit, number = issue3)
test_that( "Multifield values (labels / assignees) are handled correctly for any number of inputs", {
expect_length( issue1_res[[1]]$labels , 0)
expect_length( issue2_res[[1]]$labels , 1)
expect_length( issue3_res[[1]]$labels , 2)
expect_length( issue2_res[[1]]$assignees , 1)
expect_length( issue3_res[[1]]$assignees , 0)
})
test_that( "Posting fails appropriately with invalid inputs" , {
expect_error( post_issue(experigit, body = "I have no title") )
expect_error( post_issue(experigit, abc = "This is not a valid field name"))
})
test_that( "distinct parameter behavior controls duplication correctly", {
expect_error( post_issue(experigit, title = "2 labels, 0 assignees") )
expect_error( post_issue(experigit, title = "2 labels, 0 assignees", distinct = TRUE ) )
expect_type( issue4, "integer" )
})
# clean-up environment
projmgr:::patch_engine(paste0("/issues/", issue1), ref = experigit, state = 'closed')
projmgr:::patch_engine(paste0("/issues/", issue2), ref = experigit, state = 'closed')
projmgr:::patch_engine(paste0("/issues/", issue3), ref = experigit, state = 'closed')
projmgr:::patch_engine(paste0("/issues/", issue4), ref = experigit, state = 'closed')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.