Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
O
OHR Support
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
97
Issues
97
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
OHR Support
Commits
72e7baaf
Commit
72e7baaf
authored
Sep 14, 2010
by
Tim Felgentreff
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix various tests in mailer, wiki content and issue helper
parent
4b098d77
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
65 additions
and
42 deletions
+65
-42
mailer.rb
app/models/mailer.rb
+4
-4
message.rb
app/models/message.rb
+1
-1
wiki_content.rb
app/models/wiki_content.rb
+21
-2
journals.yml
test/fixtures/journals.yml
+17
-17
test_helper.rb
test/test_helper.rb
+2
-2
activity_test.rb
test/unit/activity_test.rb
+2
-2
issues_helper_test.rb
test/unit/helpers/issues_helper_test.rb
+14
-10
wiki_content_test.rb
test/unit/wiki_content_test.rb
+3
-3
wiki_page_test.rb
test/unit/wiki_page_test.rb
+1
-1
No files found.
app/models/mailer.rb
View file @
72e7baaf
...
...
@@ -56,7 +56,7 @@ class Mailer < ActionMailer::Base
# issue_edit(journal) => tmail object
# Mailer.deliver_issue_edit(journal) => sends an email to issue recipients
def
issue_edit
(
journal
)
issue
=
journal
.
version
ed
.
reload
issue
=
journal
.
journal
ed
.
reload
redmine_headers
'Project'
=>
issue
.
project
.
identifier
,
'Issue-Id'
=>
issue
.
id
,
'Issue-Author'
=>
issue
.
author
.
login
...
...
@@ -162,11 +162,11 @@ class Mailer < ActionMailer::Base
cc
((
message
.
root
.
watcher_recipients
+
message
.
board
.
watcher_recipients
).
uniq
-
@recipients
)
subject
"[
#{
message
.
board
.
project
.
name
}
-
#{
message
.
board
.
name
}
- msg
#{
message
.
root
.
id
}
]
#{
message
.
subject
}
"
body
:message
=>
message
,
:message_url
=>
url_for
(
message
.
event_url
)
:message_url
=>
url_for
(
message
.
last_journal
.
event_url
)
render_multipart
(
'message_posted'
,
body
)
end
# Builds a tmail object used to email the recipients of a project of the specified wiki content was added.
# Builds a tmail object used to email the recipients of a project of the specified wiki content was added.
#
# Example:
# wiki_content_added(wiki_content) => tmail object
...
...
app/models/message.rb
View file @
72e7baaf
...
...
@@ -29,7 +29,7 @@ class Message < ActiveRecord::Base
if
o
.
parent_id
.
nil?
{
:id
=>
o
.
id
}
else
{
:id
=>
o
.
parent_id
,
:r
=>
o
.
versioned
.
id
,
:anchor
=>
"message-
#{
o
.
version
ed
.
id
}
"
}
{
:id
=>
o
.
parent_id
,
:r
=>
o
.
journaled
.
id
,
:anchor
=>
"message-
#{
o
.
journal
ed
.
id
}
"
}
end
.
reverse_merge
:controller
=>
'messages'
,
:action
=>
'show'
,
:board_id
=>
o
.
board_id
end
),
:activity_find_options
=>
{
:include
=>
{
:board
=>
:project
}
}
...
...
app/models/wiki_content.rb
View file @
72e7baaf
...
...
@@ -61,7 +61,7 @@ class WikiContent < ActiveRecord::Base
# Wiki Content might be large and the data should possibly be compressed
def
compress_version_text
self
.
text
=
changes
[
"text"
].
last
if
changes
[
"text"
]
self
.
text
||=
self
.
version
ed
.
text
self
.
text
||=
self
.
journal
ed
.
text
end
def
text
=
(
plain
)
...
...
@@ -97,7 +97,26 @@ class WikiContent < ActiveRecord::Base
# Returns the previous version or nil
def
previous
@previous
||=
versioned
.
journals
.
at
(
version
-
1
)
@previous
||=
journaled
.
journals
.
at
(
version
-
1
)
end
# FIXME: Deprecate
def
versioned
journaled
end
# FIXME: Deprecate
def
versions
journals
end
def
version
unless
last_journal
# FIXME: This is code that caters for a case that should never happen in the normal code paths!!
update_journal
last_journal
.
update_attribute
(
:created_at
,
updated_on
)
end
last_journal
.
version
end
end
end
test/fixtures/journals.yml
View file @
72e7baaf
...
...
@@ -7,7 +7,7 @@ journals_001:
version
:
1
user_id
:
1
notes
:
"
Journal
notes"
version
ed_id
:
1
journal
ed_id
:
1
changes
:
|
---
status_id:
...
...
@@ -24,7 +24,7 @@ journals_002:
version
:
2
user_id
:
2
notes
:
"
Some
notes
with
Redmine
links:
#2,
r2."
version
ed_id
:
1
journal
ed_id
:
1
changes
:
"
---
{}"
journals_003
:
id
:
3
...
...
@@ -34,7 +34,7 @@ journals_003:
version
:
1
user_id
:
2
notes
:
"
A
comment
with
inline
image:
!picture.jpg!"
version
ed_id
:
2
journal
ed_id
:
2
changes
:
"
---
{}"
journals_004
:
id
:
4
...
...
@@ -44,7 +44,7 @@ journals_004:
version
:
1
user_id
:
2
notes
:
"
A
comment
with
a
private
version."
version
ed_id
:
6
journal
ed_id
:
6
changes
:
|
---
fixed_version_id:
...
...
@@ -58,7 +58,7 @@ journals_005:
version
:
0
user_id
:
1
notes
:
version
ed_id
:
5
journal
ed_id
:
5
changes
:
"
---
{}"
journals_006
:
id
:
6
...
...
@@ -68,7 +68,7 @@ journals_006:
version
:
1
user_id
:
2
notes
:
Page creation
version
ed_id
:
1
journal
ed_id
:
1
changes
:
|
---
compression: ""
...
...
@@ -86,7 +86,7 @@ journals_007:
version
:
2
user_id
:
1
notes
:
Small update
version
ed_id
:
1
journal
ed_id
:
1
changes
:
|
---
compression: ""
...
...
@@ -104,7 +104,7 @@ journals_008:
version
:
3
user_id
:
1
notes
:
"
"
version
ed_id
:
1
journal
ed_id
:
1
changes
:
|
---
compression: ""
...
...
@@ -119,7 +119,7 @@ journals_009:
version
:
1
user_id
:
1
notes
:
version
ed_id
:
2
journal
ed_id
:
2
changes
:
|
---
data: |-
...
...
@@ -136,7 +136,7 @@ journals_010:
version
:
1
user_id
:
1
notes
:
version
ed_id
:
5
journal
ed_id
:
5
changes
:
--- {}
journals_011
:
id
:
11
...
...
@@ -146,7 +146,7 @@ journals_011:
version
:
1
user_id
:
2
notes
:
"
An
attachment
on
a
version"
version
ed_id
:
9
journal
ed_id
:
9
changes
:
--- {}
journals_012
:
id
:
12
...
...
@@ -156,7 +156,7 @@ journals_012:
version
:
1
user_id
:
2
notes
:
"
An
attachment
on
a
project"
version
ed_id
:
8
journal
ed_id
:
8
changes
:
--- {}
journals_013
:
id
:
13
...
...
@@ -166,7 +166,7 @@ journals_013:
version
:
1
user_id
:
2
notes
:
"
An
attachment
on
an
issue"
version
ed_id
:
7
journal
ed_id
:
7
changes
:
--- {}
journals_014
:
id
:
14
...
...
@@ -176,7 +176,7 @@ journals_014:
version
:
1
user_id
:
2
notes
:
"
An
attachment
on
a
document"
version
ed_id
:
2
journal
ed_id
:
2
changes
:
--- {}
journals_015
:
id
:
15
...
...
@@ -186,7 +186,7 @@ journals_015:
version
:
1
user_id
:
2
notes
:
"
A
message
journal"
version
ed_id
:
1
journal
ed_id
:
1
journals_016
:
id
:
16
type
:
"
MessageJournal"
...
...
@@ -195,7 +195,7 @@ journals_016:
version
:
1
user_id
:
2
notes
:
"
A
message
journal"
version
ed_id
:
2
journal
ed_id
:
2
journals_017
:
id
:
17
type
:
"
MessageJournal"
...
...
@@ -204,4 +204,4 @@ journals_017:
version
:
1
user_id
:
2
notes
:
"
A
message
journal"
version
ed_id
:
3
journal
ed_id
:
3
test/test_helper.rb
View file @
72e7baaf
...
...
@@ -154,14 +154,14 @@ class ActiveSupport::TestCase
end
should
"use the new value's name"
do
@detail
=
IssueJournal
.
generate
(
:version
=>
1
)
@detail
=
IssueJournal
.
generate
(
:version
=>
1
,
:journaled
=>
Issue
.
last
)
@detail
.
update_attribute
(
:changes
,
{
prop_key
=>
[
@old_value
.
id
,
@new_value
.
id
]}.
to_yaml
)
assert_match
@new_value
.
name
,
@detail
.
render_detail
(
prop_key
,
true
)
end
should
"use the old value's name"
do
@detail
=
IssueJournal
.
generate
(
:version
=>
1
)
@detail
=
IssueJournal
.
generate
(
:version
=>
1
,
:journaled
=>
Issue
.
last
)
@detail
.
update_attribute
(
:changes
,
{
prop_key
=>
[
@old_value
.
id
,
@new_value
.
id
]}.
to_yaml
)
assert_match
@old_value
.
name
,
@detail
.
render_detail
(
prop_key
,
true
)
...
...
test/unit/activity_test.rb
View file @
72e7baaf
...
...
@@ -82,13 +82,13 @@ class ActivityTest < ActiveSupport::TestCase
assert_equal
[
Attachment
],
events
.
collect
(
&
:class
).
uniq
assert_equal
%w(Project Version)
,
events
.
collect
(
&
:container_type
).
uniq
.
sort
end
private
def
find_events
(
user
,
options
=
{})
events
=
Redmine
::
Activity
::
Fetcher
.
new
(
user
,
options
).
events
(
Date
.
today
-
30
,
Date
.
today
+
1
)
# Because events are provided by the journals, but we want to test for
# their targets here, transform that
events
.
group_by
(
&
:
version
ed
).
keys
events
.
group_by
(
&
:
journal
ed
).
keys
end
end
test/unit/helpers/issues_helper_test.rb
View file @
72e7baaf
...
...
@@ -44,27 +44,31 @@ class IssuesHelperTest < HelperTestCase
@request
||=
ActionController
::
TestRequest
.
new
end
def
show_detail
(
journal
,
html
=
true
)
journal
.
render_detail
(
journal
.
details
.
first
)
end
context
"IssuesHelper#show_detail"
do
context
"with no_html"
do
should
'show a changing attribute'
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
'40'
,
:value
=>
'100'
,
:prop_key
=>
'done_ratio'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"done_ratio"
=>
[
40
,
100
]},
:journaled
=>
Issue
.
last
)
assert_equal
"% Done changed from 40 to 100"
,
show_detail
(
@detail
,
true
)
end
should
'show a new attribute'
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
nil
,
:value
=>
'100'
,
:prop_key
=>
'done_ratio'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"done_ratio"
=>
[
nil
,
100
]},
:journaled
=>
Issue
.
last
)
assert_equal
"% Done set to 100"
,
show_detail
(
@detail
,
true
)
end
should
'show a deleted attribute'
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
'50'
,
:value
=>
nil
,
:prop_key
=>
'done_ratio'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"done_ratio"
=>
[
50
,
nil
]},
:journaled
=>
Issue
.
last
)
assert_equal
"% Done deleted (50)"
,
show_detail
(
@detail
,
true
)
end
end
context
"with html"
do
should
'show a changing attribute with HTML highlights'
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
'40'
,
:value
=>
'100'
,
:prop_key
=>
'done_ratio'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"done_ratio"
=>
[
40
,
100
]},
:journaled
=>
Issue
.
last
)
@response
.
body
=
show_detail
(
@detail
,
false
)
assert_select
'strong'
,
:text
=>
'% Done'
...
...
@@ -73,7 +77,7 @@ class IssuesHelperTest < HelperTestCase
end
should
'show a new attribute with HTML highlights'
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
nil
,
:value
=>
'100'
,
:prop_key
=>
'done_ratio'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"done_ratio"
=>
[
nil
,
100
]},
:journaled
=>
Issue
.
last
)
@response
.
body
=
show_detail
(
@detail
,
false
)
assert_select
'strong'
,
:text
=>
'% Done'
...
...
@@ -81,7 +85,7 @@ class IssuesHelperTest < HelperTestCase
end
should
'show a deleted attribute with HTML highlights'
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
'50'
,
:value
=>
nil
,
:prop_key
=>
'done_ratio'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"done_ratio"
=>
[
50
,
nil
]},
:journaled
=>
Issue
.
last
)
@response
.
body
=
show_detail
(
@detail
,
false
)
assert_select
'strong'
,
:text
=>
'% Done'
...
...
@@ -93,24 +97,24 @@ class IssuesHelperTest < HelperTestCase
context
"with a start_date attribute"
do
should
"format the current date"
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
'2010-01-01'
,
:value
=>
'2010-01-31'
,
:prop_key
=>
'start_date'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"start_date"
=>
[
'2010-01-01'
,
'2010-01-31'
]},
:journaled
=>
Issue
.
last
)
assert_match
"01/31/2010"
,
show_detail
(
@detail
,
true
)
end
should
"format the old date"
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
'2010-01-01'
,
:value
=>
'2010-01-31'
,
:prop_key
=>
'start_date'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"start_date"
=>
[
'2010-01-01'
,
'2010-01-31'
]},
:journaled
=>
Issue
.
last
)
assert_match
"01/01/2010"
,
show_detail
(
@detail
,
true
)
end
end
context
"with a due_date attribute"
do
should
"format the current date"
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
'2010-01-01'
,
:value
=>
'2010-01-31'
,
:prop_key
=>
'due_date'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"due_date"
=>
[
'2010-01-01'
,
'2010-01-31'
]},
:journaled
=>
Issue
.
last
)
assert_match
"01/31/2010"
,
show_detail
(
@detail
,
true
)
end
should
"format the old date"
do
@detail
=
JournalDetail
.
generate!
(
:property
=>
'attr'
,
:old_value
=>
'2010-01-01'
,
:value
=>
'2010-01-31'
,
:prop_key
=>
'due_date'
)
@detail
=
IssueJournal
.
generate!
(
:changes
=>
{
"due_date"
=>
[
'2010-01-01'
,
'2010-01-31'
]},
:journaled
=>
Issue
.
last
)
assert_match
"01/01/2010"
,
show_detail
(
@detail
,
true
)
end
end
...
...
test/unit/wiki_content_test.rb
View file @
72e7baaf
...
...
@@ -72,9 +72,9 @@ class WikiContentTest < ActiveSupport::TestCase
end
def
test_fetch_history
assert
!
@page
.
content
.
version
s
.
empty?
@page
.
content
.
versions
.
each
do
|
version
|
assert_kind_of
String
,
version
.
text
assert
!
@page
.
content
.
journal
s
.
empty?
@page
.
content
.
journals
.
each
do
|
journal
|
assert_kind_of
String
,
journal
.
text
end
end
...
...
test/unit/wiki_page_test.rb
View file @
72e7baaf
...
...
@@ -107,7 +107,7 @@ class WikiPageTest < ActiveSupport::TestCase
# make sure that page content and its history are deleted
assert
WikiContent
.
find_all_by_page_id
(
1
).
empty?
content_ids
.
each
do
|
wiki_content_id
|
assert
WikiContent
.
journal_class
.
find_all_by_
version
ed_id
(
wiki_content_id
).
empty?
assert
WikiContent
.
journal_class
.
find_all_by_
journal
ed_id
(
wiki_content_id
).
empty?
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