'Rebase to previous commit' \
'
stg rebase master~1 &&
- test `git rev-parse bases/stack` = `git rev-parse master~1`
+ test `stg id base@stack` = `git rev-parse master~1` &&
+ test `stg applied | wc -l` = 1
+ '
+
+test_expect_failure \
+ 'Attempt rebase to non-existing commit' \
+ '
+ stg rebase not-a-ref
+ '
+
+test_expect_success \
+ 'Check patches were re-applied' \
+ '
+ test $(stg applied | wc -l) = 1
+ '
+
+test_expect_success \
+ 'Rebase to next commit' \
+ '
+ stg rebase master &&
+ test $(stg id base@stack) = $(git rev-parse master)
+ '
+
+test_expect_success \
+ 'Commit the patch and rebase again' \
+ '
+ stg commit &&
+ git tag committed-here &&
+ stg rebase master &&
+ test $(stg id base@stack) = $(git rev-parse master)
'
test_done