Mercurial > hg > soundsoftware-site
comparison test/unit/document_test.rb @ 524:1248a47e81b3 feature_36
Merge from branch "luisf"
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Mon, 25 Jul 2011 14:39:38 +0100 |
parents | cbce1fd3b1b7 |
children | 433d4f72a19b |
comparison
equal
deleted
inserted
replaced
519:3be6bc3c2a17 | 524:1248a47e81b3 |
---|---|
1 # Redmine - project management software | 1 # Redmine - project management software |
2 # Copyright (C) 2006-2008 Jean-Philippe Lang | 2 # Copyright (C) 2006-2011 Jean-Philippe Lang |
3 # | 3 # |
4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
8 # | 8 # |
9 # This program is distributed in the hope that it will be useful, | 9 # This program is distributed in the hope that it will be useful, |
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 # GNU General Public License for more details. | 12 # GNU General Public License for more details. |
13 # | 13 # |
14 # You should have received a copy of the GNU General Public License | 14 # You should have received a copy of the GNU General Public License |
15 # along with this program; if not, write to the Free Software | 15 # along with this program; if not, write to the Free Software |
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
17 | 17 |
18 require File.dirname(__FILE__) + '/../test_helper' | 18 require File.expand_path('../../test_helper', __FILE__) |
19 | 19 |
20 class DocumentTest < ActiveSupport::TestCase | 20 class DocumentTest < ActiveSupport::TestCase |
21 fixtures :projects, :enumerations, :documents, :attachments | 21 fixtures :projects, :enumerations, :documents, :attachments |
22 | 22 |
23 def test_create | 23 def test_create |
24 doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation')) | 24 doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation')) |
25 assert doc.save | 25 assert doc.save |
26 end | 26 end |
27 | 27 |
28 def test_create_should_send_email_notification | 28 def test_create_should_send_email_notification |
29 ActionMailer::Base.deliveries.clear | 29 ActionMailer::Base.deliveries.clear |
30 Setting.notified_events << 'document_added' | 30 Setting.notified_events << 'document_added' |
31 doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation')) | 31 doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation')) |
32 | 32 |
36 | 36 |
37 def test_create_with_default_category | 37 def test_create_with_default_category |
38 # Sets a default category | 38 # Sets a default category |
39 e = Enumeration.find_by_name('Technical documentation') | 39 e = Enumeration.find_by_name('Technical documentation') |
40 e.update_attributes(:is_default => true) | 40 e.update_attributes(:is_default => true) |
41 | 41 |
42 doc = Document.new(:project => Project.find(1), :title => 'New document') | 42 doc = Document.new(:project => Project.find(1), :title => 'New document') |
43 assert_equal e, doc.category | 43 assert_equal e, doc.category |
44 assert doc.save | 44 assert doc.save |
45 end | 45 end |
46 | 46 |
47 def test_updated_on_with_attachments | 47 def test_updated_on_with_attachments |
48 d = Document.find(1) | 48 d = Document.find(1) |
49 assert d.attachments.any? | 49 assert d.attachments.any? |
50 assert_equal d.attachments.map(&:created_on).max, d.updated_on | 50 assert_equal d.attachments.map(&:created_on).max, d.updated_on |
51 end | 51 end |
52 | 52 |
53 def test_updated_on_without_attachments | 53 def test_updated_on_without_attachments |
54 d = Document.find(2) | 54 d = Document.find(2) |
55 assert d.attachments.empty? | 55 assert d.attachments.empty? |
56 assert_equal d.created_on, d.updated_on | 56 assert_equal d.created_on, d.updated_on |
57 end | 57 end |