Files
lazygitclj/test/e2e/commit-verify.tape
2026-01-22 22:28:38 -05:00

91 lines
1.8 KiB
VHS

# VHS E2E test for lazygitclj - Commit workflow with git verification
# Tests the full commit workflow: stage files, open commit modal, type message, commit
# Verifies the commit was actually made using git CLI
Output test/e2e/output/commit-verify.gif
Output test/e2e/output/commit-verify.ascii
Require bb
Set Shell "bash"
Set FontSize 14
Set Width 1000
Set Height 600
Set Framerate 10
# Setup: Create a fresh test repo
Type "rm -rf /tmp/lazygitclj-e2e-commit-verify && mkdir -p /tmp/lazygitclj-e2e-commit-verify && cd /tmp/lazygitclj-e2e-commit-verify"
Enter
Sleep 500ms
# Initialize git repo
Type "git init -b main && git config user.email 'test@example.com' && git config user.name 'Test User'"
Enter
Sleep 500ms
# Create initial commit
Type "echo 'initial' > README.md && git add . && git commit -m 'Initial commit'"
Enter
Sleep 500ms
# Create a new file to commit with lazygitclj
Type "echo 'test content for commit' > test-file.txt"
Enter
Sleep 500ms
# Show the file exists
Type "ls -la"
Enter
Sleep 500ms
# Run lazygitclj
Type "bb --config /home/ajet/repos/lazygitclj/bb.edn start"
Enter
Sleep 2s
# Stage the file with 'a' (stage all)
Type "a"
Sleep 500ms
# Press 'c' to open commit modal
Type "c"
Sleep 1s
# Type commit message
Set TypingSpeed 50ms
Type "Add test file via lazygitclj"
Sleep 500ms
# Press Enter to commit
Enter
Sleep 1s
# Should see "Committed!" message
# Navigate to commits panel to see the new commit
Type "4"
Sleep 500ms
# Quit lazygitclj
Type "q"
Sleep 1s
# Verify the commit was made using git CLI
Type "git log --oneline -2"
Enter
Sleep 500ms
# Show that the file is tracked
Type "git status"
Enter
Sleep 500ms
# Show commit details
Type "git show --stat HEAD"
Enter
Sleep 1s
# Cleanup test repo
Type "rm -rf /tmp/lazygitclj-e2e-commit-verify"
Enter
Sleep 500ms