use trusty_mpm::core::bundle::{CODE_REVIEW_STANDARDS, CONTRACT_DRIVEN_TESTING};
use crate::commands::install::install_to;
#[test]
fn code_critic_skills_land_in_deployed_dot_claude_skills() {
let dir = tempfile::tempdir().unwrap();
let paths = trusty_mpm::core::paths::FrameworkPaths::under(dir.path());
install_to(&paths, false).unwrap();
let result = trusty_mpm::core::skill_tiers::deploy_all_skill_tiers(
&paths.skill_source_dir(),
&paths.user_skill_source_dir(),
&paths.claude_skills_dir(),
|_| true,
)
.unwrap()
.stats;
assert!(
result
.deployed
.contains(&"code-review-standards".to_string()),
"code-review-standards must be deployed; got {:?}",
result.deployed
);
assert!(
result
.deployed
.contains(&"contract-driven-testing".to_string()),
"contract-driven-testing must be deployed; got {:?}",
result.deployed
);
let code_review_standards_deployed = paths
.claude_skills_dir()
.join("code-review-standards")
.join("SKILL.md");
assert!(
code_review_standards_deployed.is_file(),
"expected skill at {}",
code_review_standards_deployed.display()
);
assert_eq!(
std::fs::read_to_string(&code_review_standards_deployed).unwrap(),
CODE_REVIEW_STANDARDS,
);
let contract_driven_testing_deployed = paths
.claude_skills_dir()
.join("contract-driven-testing")
.join("SKILL.md");
assert!(
contract_driven_testing_deployed.is_file(),
"expected skill at {}",
contract_driven_testing_deployed.display()
);
assert_eq!(
std::fs::read_to_string(&contract_driven_testing_deployed).unwrap(),
CONTRACT_DRIVEN_TESTING,
);
}