diff options
author | Vinnie Okada <vokada@mrvinn.com> | 2014-10-05 21:17:28 -0500 |
---|---|---|
committer | Vinnie Okada <vokada@mrvinn.com> | 2014-10-05 22:15:36 -0500 |
commit | fecd9c0cb22eda0a208042c568d8d833a1bd6292 (patch) | |
tree | 112d28bf62a4ec4329360dfbd2ca6739d74d0cc3 /spec/support/taskable_shared_examples.rb | |
parent | 9f0083a96c03ec22b1d9442a9c7530899e633301 (diff) | |
download | gitlab-ce-fecd9c0cb22eda0a208042c568d8d833a1bd6292.tar.gz |
Add specs for tasks
Add tests for the new task list functionality in the Markdown parser and
in issues and merge requests.
Diffstat (limited to 'spec/support/taskable_shared_examples.rb')
-rw-r--r-- | spec/support/taskable_shared_examples.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/support/taskable_shared_examples.rb b/spec/support/taskable_shared_examples.rb new file mode 100644 index 00000000000..42252675683 --- /dev/null +++ b/spec/support/taskable_shared_examples.rb @@ -0,0 +1,42 @@ +# Specs for task state functionality for issues and merge requests. +# +# Requires a context containing: +# let(:subject) { Issue or MergeRequest } +shared_examples 'a Taskable' do + before do + subject.description = <<EOT.gsub(/ {6}/, '') + * [ ] Task 1 + * [x] Task 2 + * [x] Task 3 + * [ ] Task 4 + * [ ] Task 5 +EOT + end + + it 'updates the Nth task correctly' do + subject.update_nth_task(1, true) + expect(subject.description).to match(/\[x\] Task 1/) + + subject.update_nth_task(2, true) + expect(subject.description).to match('\[x\] Task 2') + + subject.update_nth_task(3, false) + expect(subject.description).to match('\[ \] Task 3') + + subject.update_nth_task(4, false) + expect(subject.description).to match('\[ \] Task 4') + end + + it 'returns the correct task status' do + expect(subject.task_status).to match('5 tasks') + expect(subject.task_status).to match('2 done') + expect(subject.task_status).to match('3 unfinished') + end + + it 'knows if it has tasks' do + expect(subject.tasks?).to be_true + + subject.description = 'Now I have no tasks' + expect(subject.tasks?).to be_false + end +end |