parent
b8115af7cf
commit
8b2510d212
@ -1,104 +0,0 @@ |
|||||||
#-- copyright |
|
||||||
# OpenProject is a project management system. |
|
||||||
# |
|
||||||
# Copyright (C) 2012-2013 the OpenProject Team |
|
||||||
# |
|
||||||
# This program is free software; you can redistribute it and/or |
|
||||||
# modify it under the terms of the GNU General Public License version 3. |
|
||||||
# |
|
||||||
# See doc/COPYRIGHT.rdoc for more details. |
|
||||||
#++ |
|
||||||
|
|
||||||
require 'spec_helper' |
|
||||||
|
|
||||||
describe Issue do |
|
||||||
describe 'Acts as journalized' do |
|
||||||
before(:each) do |
|
||||||
IssueStatus.delete_all |
|
||||||
IssuePriority.delete_all |
|
||||||
|
|
||||||
@status_resolved ||= FactoryGirl.create(:issue_status, :name => "Resolved", :is_default => false) |
|
||||||
@status_open ||= FactoryGirl.create(:issue_status, :name => "Open", :is_default => true) |
|
||||||
@status_rejected ||= FactoryGirl.create(:issue_status, :name => "Rejected", :is_default => false) |
|
||||||
|
|
||||||
@priority_low ||= FactoryGirl.create(:priority_low, :is_default => true) |
|
||||||
@priority_high ||= FactoryGirl.create(:priority_high) |
|
||||||
@type ||= FactoryGirl.create(:type_feature) |
|
||||||
@project ||= FactoryGirl.create(:project_with_types) |
|
||||||
|
|
||||||
@current = FactoryGirl.create(:user, :login => "user1", :mail => "user1@users.com") |
|
||||||
User.stub(:current).and_return(@current) |
|
||||||
|
|
||||||
@user2 = FactoryGirl.create(:user, :login => "user2", :mail => "user2@users.com") |
|
||||||
|
|
||||||
|
|
||||||
@issue ||= FactoryGirl.create(:issue, :project => @project, :status => @status_open, :type => @type, :author => @current) |
|
||||||
end |
|
||||||
|
|
||||||
describe 'ignore blank to blank transitions' do |
|
||||||
it 'should not include the "nil to empty string"-transition' do |
|
||||||
@issue.description = nil |
|
||||||
@issue.save! |
|
||||||
|
|
||||||
@issue.description = "" |
|
||||||
@issue.send(:incremental_journal_changes).should be_empty |
|
||||||
end |
|
||||||
end |
|
||||||
|
|
||||||
describe 'Acts as journalized recreate initial journal' do |
|
||||||
it 'should not include certain attributes' do |
|
||||||
recreated_journal = @issue.recreate_initial_journal! |
|
||||||
|
|
||||||
recreated_journal.changed_data.include?('rgt').should == false |
|
||||||
recreated_journal.changed_data.include?('lft').should == false |
|
||||||
recreated_journal.changed_data.include?('lock_version').should == false |
|
||||||
recreated_journal.changed_data.include?('updated_at').should == false |
|
||||||
recreated_journal.changed_data.include?('updated_on').should == false |
|
||||||
recreated_journal.changed_data.include?('id').should == false |
|
||||||
recreated_journal.changed_data.include?('type').should == false |
|
||||||
recreated_journal.changed_data.include?('root_id').should == false |
|
||||||
end |
|
||||||
|
|
||||||
it 'should not include useless transitions' do |
|
||||||
recreated_journal = @issue.recreate_initial_journal! |
|
||||||
|
|
||||||
recreated_journal.changed_data.values.each do |change| |
|
||||||
change.first.should_not == change.last |
|
||||||
end |
|
||||||
end |
|
||||||
|
|
||||||
it 'should not be different from the initially created journal by aaj' do |
|
||||||
# Creating four journals total |
|
||||||
@issue.status = @status_resolved |
|
||||||
@issue.assigned_to = @user2 |
|
||||||
@issue.save! |
|
||||||
@issue.reload |
|
||||||
|
|
||||||
@issue.priority = @priority_high |
|
||||||
@issue.save! |
|
||||||
@issue.reload |
|
||||||
|
|
||||||
@issue.status = @status_rejected |
|
||||||
@issue.priority = @priority_low |
|
||||||
@issue.estimated_hours = 3 |
|
||||||
@issue.save! |
|
||||||
|
|
||||||
initial_journal = @issue.journals.first |
|
||||||
recreated_journal = @issue.recreate_initial_journal! |
|
||||||
|
|
||||||
initial_journal.should be_identical(recreated_journal) |
|
||||||
end |
|
||||||
|
|
||||||
it "should not validate with oddly set estimated_hours" do |
|
||||||
@issue.estimated_hours = "this should not work" |
|
||||||
@issue.should_not be_valid |
|
||||||
end |
|
||||||
|
|
||||||
it "should validate with sane estimated_hours" do |
|
||||||
@issue.estimated_hours = "13h" |
|
||||||
@issue.should be_valid |
|
||||||
end |
|
||||||
end |
|
||||||
end |
|
||||||
|
|
||||||
end |
|
Loading…
Reference in new issue