test_that("`add_fund_portfolio()` works as expected", {
skip_if_R_CMD_check()
source(here::here("0_portfolio_input_check_functions.R"))
portfolio <-
tibble::tribble(
~investor_name, ~portfolio_name, ~isin, ~market_value, ~currency, ~holding_id, ~number_of_shares, ~exchange_rate, ~value_usd, ~company_id, ~company_name, ~bloomberg_id, ~corporate_bond_ticker, ~country_of_domicile, ~unit_share_price, ~exchange_rate_usd, ~asset_type, ~security_type, ~security_mapped_sector, ~security_icb_subsector, ~security_bics_subgroup, ~bics_sector, ~maturity_date, ~coupon_value, ~amount_issued, ~current_shares_outstanding_all_classes, ~sector_override, ~sector_boe, ~subsector_boe, ~sector_dnb, ~sector_ipr, ~subsector_ipr, ~is_sb,
"Test", "TestPortfolio", "IE00B9346255", 500, "USD", "1", NA_real_, 1, 500, 28581, "Institutional Cash Series Plc", 34841267, NA_character_, "IE", 121.4076252, 1.2253, "Funds", "Open-End Funds", "Other", NA_character_, "Unclassified", NA_character_, NA_character_, NA_real_, NA_real_, NA_real_, FALSE, "Other", NA_character_, "Other", NA_character_, NA_character_, FALSE,
"Test", "TestPortfolio", "DE0007664039", 300, "USD", "2", 1.60633774345508, 1, 300, 6781, "Volkswagen Ag", 115757, NA_character_, "DE", 186.760226, 1.2253, "Equity", "Preference", "Automotive", "Automobiles", "Auto-Cars/Light Trucks", NA_character_, NA_character_, NA_real_, NA_real_, 501295300, FALSE, "Automotive", NA_character_, "C29", "Consumer Cyclicals", "Consumer Vehicles and Parts", FALSE
)
fund_portfolio <-
tibble::tribble(
~isin, ~market_value, ~currency, ~portfolio_name, ~investor_name, ~holding_id, ~number_of_shares, ~exchange_rate, ~value_usd, ~direct_holding, ~fund_isin, ~original_value_usd, ~company_id, ~company_name, ~bloomberg_id, ~corporate_bond_ticker, ~country_of_domicile, ~unit_share_price, ~exchange_rate_usd, ~asset_type, ~security_type, ~security_mapped_sector, ~security_icb_subsector, ~security_bics_subgroup, ~bics_sector, ~maturity_date, ~coupon_value, ~amount_issued, ~current_shares_outstanding_all_classes, ~sector_override, ~sector_boe, ~subsector_boe, ~sector_dnb, ~sector_ipr, ~subsector_ipr, ~is_sb,
"XS2260177394", 100, "USD", "TestPortfolio", "Test", "58", NA_real_, 1, 100, FALSE, "IE00B9346255", 500, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
"XS2260147306", 100, "USD", "TestPortfolio", "Test", "58", NA_real_, 1, 100, FALSE, "IE00B9346255", 500, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
"XS2264058442", 100, "USD", "TestPortfolio", "Test", "58", NA_real_, 1, 100, FALSE, "IE00B9346255", 500, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
"XS2275622269", 100, "USD", "TestPortfolio", "Test", "58", NA_real_, 1, 100, FALSE, "IE00B9346255", 500, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
"XS2266971444", 100, "USD", "TestPortfolio", "Test", "58", NA_real_, 1, 100, FALSE, "IE00B9346255", 500, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_real_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_
)
cols_of_funds <- c("direct_holding", "fund_isin", "original_value_usd")
result <- add_fund_portfolio(portfolio, fund_portfolio, cols_of_funds)
expect_s3_class(result, "data.frame")
expect_equal(nrow(result), nrow(fund_portfolio) + 1L)
expect_equal(sum(result$value_usd), sum(portfolio$value_usd))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.