use v_fixtures::FixtureRenderer;
use crate::{
common::{FixtureIssuesExt, TestContext},
render_fixture,
};
#[test]
fn test_parent_virtual_creates_virtual_project() {
let ctx = TestContext::build_with_preexisting_state_unsafe("");
let out = ctx.open_touch("newowner/newrepo/my-issue").args(&["--parent=virtual"]).ghost_edit().run();
insta::assert_snapshot!(render_fixture(FixtureRenderer::try_new(&ctx).unwrap(), &out), @r#"
//- /newowner/newrepo/.meta.json
{
"virtual_project": true,
"next_virtual_issue_number": 1
}
//- /newowner/newrepo/my-issue.md
- [ ] my-issue <!-- virtual -->
"#);
assert!(out.status.success(), "Expected success, got stderr: {}", out.stderr);
}
#[test]
fn test_parent_default_errors_for_nonexistent_github_repo() {
let ctx = TestContext::build_with_preexisting_state_unsafe("");
let out = ctx.open_touch("nonexistent/repo/issue").args(&["--parent"]).run();
assert!(
!out.status.success() && (out.stderr.contains("doesn't exist") || out.stderr.contains("not accessible")),
"Expected failure with error about repo not existing, got: {}",
out.stderr
);
}