title: Integration Testing Scenarios
updated: 2025-11-08
version: 2#
Feature Branch#
# 1. Create feature branch
git checkout -b feature/new-auth
# 2. Make commits
git commit -m "feat(auth): add OAuth support"
git commit -m "test(auth): add OAuth tests"
# 3. Generate entries interactively
storm generate main HEAD --interactive
# 4. Validate all documented
storm check main HEAD
# 5. Review entries
storm unreleased list
# Expected: 2 entries created, check passes
Release Preparation#
# 1. Generate from last release
storm generate --since v1.0.0
# 2. Review and clean up entries
storm unreleased review
# Navigate with j/k
# Press 'x' to mark duplicates/mistakes for deletion
# Press 'e' to fix typos or categorization
# Press Enter to apply changes
# 3. Add manual entry for non-code change
storm unreleased add --type changed --summary "Updated documentation"
# 4. Dry-run release
storm release --version 1.1.0 --dry-run
# 5. Execute release with tag
storm release --version 1.1.0 --tag --clear-changes
# 6. Verify
git tag -n9 v1.1.0
cat CHANGELOG.md
# Expected: Clean CHANGELOG, annotated tag, empty .changes/
Entry Cleanup Workflow#
# 1. Create some test entries with issues
storm unreleased add --type added --summary "Test entry 1"
storm unreleased add --type fixed --summary "Wrong category entry"
storm unreleased add --type added --summary "Duplicate test entry"
storm unreleased add --type added --summary "Duplicate test entry"
# 2. Review and fix
storm unreleased review
# - Mark duplicate for deletion with 'x'
# - Mark wrong category entry for edit with 'e'
# - Press Enter to confirm
# 3. In editor TUI for marked entry:
# - Press Ctrl+T to cycle type from 'fixed' to 'changed'
# - Tab to scope field, enter "docs"
# - Tab to summary field, update text
# - Press Enter to save
# 4. Verify changes
storm unreleased list
# Expected: Only 2 entries remain, edited entry has correct type and scope
CI Pipeline Validation#
# 1. Simulate PR with new commits
git checkout -b pr/fix-bug
git commit -m "fix(api): resolve rate limit bug"
# 2. CI check (should fail)
storm check main HEAD
# Exit code: 1
# 3. Create entry
storm unreleased partial HEAD
# 4. CI check (should pass)
storm check main HEAD
# Exit code: 0
# Expected: PR can be merged with confidence
Rebase Handling#
# 1. Create entries for commits
storm generate HEAD~3 HEAD
# 2. Rebase interactively (squash/reword)
git rebase -i HEAD~3
# 3. Regenerate (should detect rebased commits)
storm generate HEAD~2 HEAD
# Expected: Metadata updated, no duplicates