Skip to content

Add end-to-end integration test for full pipeline#58

Merged
szmyty merged 2 commits intomainfrom
copilot/add-end-to-end-integration-test
Mar 23, 2026
Merged

Add end-to-end integration test for full pipeline#58
szmyty merged 2 commits intomainfrom
copilot/add-end-to-end-integration-test

Conversation

Copy link
Contributor

Copilot AI commented Mar 23, 2026

No integration test existed to verify the full CLI → config → transform → pipeline → strategy → output path as a unit. Failures at integration boundaries (e.g. transform output reaching the strategy, output file actually written) were only catchable at runtime.

Changes

tests/pipeline_integration_test.rs — new integration test file with three tests:

  • test_full_pipeline_end_to_end (#[ignore], requires pandoc): creates a temp markdown file with emoji content (exercises EmojiTransform), writes a YAML config, invokes the compiled binary, and asserts the output .html file exists on disk and is non-empty
  • test_full_pipeline_missing_input_file: asserts non-zero exit when config references a missing input — verifies the pipeline never starts
  • test_full_pipeline_invalid_config: asserts non-zero exit for a semantically invalid config (empty outputs, empty input)
#[test]
#[ignore = "requires pandoc to be installed"]
fn test_full_pipeline_end_to_end() {
    // markdown with emoji → exercises EmojiTransform before strategy renders
    fs::write(&input_path, "# Test 😀\n\nRendered end-to-end.\n")?;
    // ... invoke CLI binary, assert output file exists and is non-empty
    assert!(output_dir.join("document.html").exists());
}

Follows existing patterns from tests/cli_tests.rs — reuses tests/common, uses tempfile for isolation, and marks pandoc-dependent tests with #[ignore] consistently.

Original prompt

This section details on the original issue you should resolve

<issue_title>🧠 Add end-to-end integration test for full pipeline</issue_title>
<issue_description>Title: 🧠 Add end-to-end integration test for full pipeline


Description

Add an integration test that verifies the entire system:

CLI → config → transform → pipeline → strategy → output


Goals

  • Validate system works end-to-end
  • Catch integration issues early

Requirements

  • Use a test input file
  • Run full pipeline
  • Verify output file is generated

Notes

  • Keep test lightweight
  • Do not rely on complex fixtures

Acceptance Criteria

  • End-to-end test implemented
  • Output file generated successfully
  • Test passes reliably</issue_description>

Comments on the Issue (you are @copilot in this section)


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Copilot AI changed the title [WIP] Add end-to-end integration test for full pipeline Add end-to-end integration test for full pipeline Mar 23, 2026
Copilot AI requested a review from szmyty March 23, 2026 02:10
@szmyty szmyty marked this pull request as ready for review March 23, 2026 03:23
@szmyty szmyty merged commit 349014f into main Mar 23, 2026
@devactivity-app
Copy link

Pull Request Summary by devActivity

Metrics

Cycle Time: 1h 21m Coding Time: < 1 min Pickup Time: 1h 13m Review Time: < 1 min

Achievements

@szmyty szmyty deleted the copilot/add-end-to-end-integration-test branch March 23, 2026 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🧠 Add end-to-end integration test for full pipeline

2 participants