diff --git a/tests/git-auto-commit-mocked.bats b/tests/git-auto-commit-mocked.bats index 8dc583a..f7e8f53 100644 --- a/tests/git-auto-commit-mocked.bats +++ b/tests/git-auto-commit-mocked.bats @@ -32,6 +32,7 @@ setup() { export INPUT_COMMIT_AUTHOR="Test Suite " export INPUT_TAGGING_MESSAGE="" export INPUT_PUSH_OPTIONS="" + export INPUT_CHECKOUT_OPTIONS="" export INPUT_SKIP_DIRTY_CHECK=false skipIfNot "$BATS_TEST_DESCRIPTION" @@ -308,6 +309,39 @@ main() { } +@test "git-checkout-options-are-applied" { + + INPUT_CHECKOUT_OPTIONS="-b --progress" + + touch "${test_repository}"/new-file-{1,2,3}.txt + + shellmock_expect git --type partial --output " M new-file-1.txt M new-file-2.txt M new-file-3.txt" --match "status" + shellmock_expect git --type exact --match "fetch" + shellmock_expect git --type exact --match "checkout -b --progress master --" + shellmock_expect git --type partial --match "add ." + shellmock_expect git --type partial --match '-c' + shellmock_expect git --type partial --match 'push --set-upstream origin' + + run main + + echo "$output" + + # Success Exit Code + [ "$status" = 0 ] + + [ "${lines[10]}" = "::debug::Push commit to remote branch master" ] + + + shellmock_verify + [ "${capture[0]}" = "git-stub status -s -- ." ] + [ "${capture[1]}" = "git-stub fetch" ] + [ "${capture[2]}" = "git-stub checkout -b --progress master --" ] + [ "${capture[3]}" = "git-stub add ." ] + [ "${capture[4]}" = "git-stub -c user.name=Test Suite -c user.email=test@github.com commit -m Commit Message --author=Test Suite " ] + [ "${capture[5]}" = "git-stub push --set-upstream origin HEAD:master --tags" ] + +} + @test "can-checkout-different-branch" { INPUT_BRANCH="foo"