Nothing
test_that("dm_rename() works for replacing pk", {
expect_snapshot({
dm_for_filter() %>%
dm_rename(tf_3, new_f = f) %>%
dm_get_all_pks_impl()
})
})
test_that("dm_rename() works for replacing fks", {
expect_snapshot({
dm_for_filter() %>%
dm_rename(tf_2, new_d = d, new_e = e) %>%
dm_get_all_fks_impl()
})
})
test_that("dm_select() works for replacing pk", {
expect_snapshot({
dm_for_filter() %>%
dm_select(tf_3, new_f = f) %>%
dm_get_all_pks_impl()
})
})
test_that("dm_select() keeps pks up to date", {
expect_identical(
dm_for_filter() %>%
dm_select(tf_3, f) %>%
dm_get_all_pks_impl(),
dm_for_filter() %>%
dm_get_all_pks_impl() %>%
filter(table != "tf_3")
)
expect_identical(
dm_for_filter() %>%
dm_select(tf_3, new_f = f, f1) %>%
dm_get_all_pks_impl(),
dm_for_filter() %>%
dm_get_all_pks_impl() %>%
# https://github.com/r-lib/vctrs/issues/1371
mutate(pk_col = new_keys(if_else(table == "tf_3", list(c("new_f", "f1")), unclass(pk_col))))
)
})
test_that("dm_select() works for replacing fks, and removes missing ones", {
expect_snapshot({
dm_for_filter() %>%
dm_select(tf_2, new_d = d) %>%
dm_get_all_fks_impl()
})
})
test_that("dm_select() removes fks if not in selection", {
expect_equal(
dm_for_filter() %>%
dm_select(tf_2, c, e, e1) %>%
dm_get_all_fks_impl(),
dm_for_filter() %>%
dm_get_all_fks_impl() %>%
filter(child_table != "tf_2" | parent_table != "tf_1")
)
expect_equal(
dm_for_filter() %>%
dm_select(tf_2, c, e, ex = e1) %>%
dm_get_all_fks_impl(),
dm_for_filter() %>%
dm_get_all_fks_impl() %>%
filter(child_table != "tf_2" | parent_table != "tf_1") %>%
mutate(child_fk_cols = new_keys(map(child_fk_cols, ~ gsub("e1", "ex", .x))))
)
expect_equal(
dm_for_filter() %>%
dm_select(tf_2, c, e) %>%
dm_get_all_fks_impl(),
dm_for_filter() %>%
dm_get_all_fks_impl() %>%
filter(child_table != "tf_2")
)
})
# tests for compound keys -------------------------------------------------
test_that("output for compound keys", {
expect_snapshot({
dm_select(dm_for_flatten(), fact, dim_1_key_1, dim_1_key_2) %>% dm_paste(options = c("select", "keys"))
dm_select(dm_for_flatten(), dim_1, dim_1_pk_1, dim_1_pk_2) %>% dm_paste(options = c("select", "keys"))
dm_select(dm_for_flatten(), fact, -dim_1_key_1) %>% dm_paste(options = c("select", "keys"))
dm_select(dm_for_flatten(), dim_1, -dim_1_pk_1) %>% dm_paste(options = c("select", "keys"))
})
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.