BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
5deb4ac1
Commit
5deb4ac1
authored
Feb 23, 2016
by
Robert Speicher
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix-todos' into 'master'
Does not raise an error when Todo is already marked as done Closes #13681 See merge request !2926
parents
1142b327
28097398
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
29 deletions
+9
-29
todos_controller.rb
app/controllers/dashboard/todos_controller.rb
+1
-1
todo.rb
app/models/todo.rb
+1
-1
todo_spec.rb
spec/models/todo_spec.rb
+7
-27
No files found.
app/controllers/dashboard/todos_controller.rb
View file @
5deb4ac1
...
...
@@ -15,7 +15,7 @@ class Dashboard::TodosController < Dashboard::ApplicationController
end
def
destroy_all
@todos
.
each
(
&
:done
)
@todos
.
each
(
&
:done
!
)
respond_to
do
|
format
|
format
.
html
{
redirect_to
dashboard_todos_path
,
notice:
'All todos were marked as done.'
}
...
...
app/models/todo.rb
View file @
5deb4ac1
...
...
@@ -36,7 +36,7 @@ class Todo < ActiveRecord::Base
state_machine
:state
,
initial: :pending
do
event
:done
do
transition
pending:
:done
transition
[
:pending
,
:done
]
=>
:done
end
state
:pending
...
...
spec/models/todo_spec.rb
.rb
→
spec/models/todo_spec.rb
View file @
5deb4ac1
...
...
@@ -37,20 +37,6 @@ describe Todo, models: true do
it
{
is_expected
.
to
validate_presence_of
(
:user
)
}
end
describe
'#action_name'
do
it
'returns proper message when action is an assigment'
do
subject
.
action
=
Todo
::
ASSIGNED
expect
(
subject
.
action_name
).
to
eq
'assigned'
end
it
'returns proper message when action is a mention'
do
subject
.
action
=
Todo
::
MENTIONED
expect
(
subject
.
action_name
).
to
eq
'mentioned you on'
end
end
describe
'#body'
do
before
do
subject
.
target
=
build
(
:issue
,
title:
'Bugfix'
)
...
...
@@ -69,21 +55,15 @@ describe Todo, models: true do
end
end
describe
'#target_iid'
do
let
(
:issue
)
{
build
(
:issue
,
id:
1
,
iid:
5
)
}
before
do
subject
.
target
=
issue
end
it
'returns target.iid when target respond to iid'
do
expect
(
subject
.
target_iid
).
to
eq
5
describe
'#done!'
do
it
'changes state to done'
do
todo
=
create
(
:todo
,
state: :pending
)
expect
{
todo
.
done!
}.
to
change
(
todo
,
:state
).
from
(
'pending'
).
to
(
'done'
)
end
it
'returns target_id when target does not respond to iid'
do
allow
(
issue
).
to
receive
(
:respond_to?
).
with
(
:iid
).
and_return
(
false
)
expect
(
subject
.
target_iid
).
to
eq
1
it
'does not raise error when is already done'
do
todo
=
create
(
:todo
,
state: :done
)
expect
{
todo
.
done!
}.
not_to
raise_error
end
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment