blob: ae490097d0ef4363be9e1488cf86c2802c47c768 [file] [log] [blame]
require File.dirname(__FILE__) + '/../test_helper'
#--######################################################################
# Copyright (c) 2006 LogicaCMG
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#
# Onno van der Straaten:: initial implementation
#++######################################################################
# {Copyright (c) 2006 LogicaCMG}[link:files/COPYRIGHT.html]
class DifferenceAnalysisTest < Test::Unit::TestCase
fixtures :users
def setup
# @test = Test.find(1)
@openupwiki = Site.find_by_title('OpenUP Wiki')
@openup0721 = Site.find_by_folder(openup0721_folder)
@openup0728 = Site.find_by_folder(openup0728_folder)
@openup0825 = Site.find_by_folder(openup0825_folder)
@onno = User.find(1)
@onno_cadmin = User.find(5)
@user4 = User.find(4)
@user3 = User.find(3)
end
# Shows:
# 1. a site and site_from need to be present
# 2. the site and from site need to be different
# 3. the sites need to be a baseline processes
def test01_new
# 1
difference_analysis = DifferenceAnalysis.new()
assert !difference_analysis.save
assert_equal 'Site can\'t be blank, Site id from can\'t be blank', difference_analysis.errors.full_messages.join(', ')
difference_analysis = DifferenceAnalysis.new(:site => @openup0721)
assert !difference_analysis.save
assert_equal 'Site id from can\'t be blank', difference_analysis.errors.full_messages.join(', ')
difference_analysis = DifferenceAnalysis.new(:site_from => @openup0721)
assert !difference_analysis.save
assert_equal 'Site can\'t be blank', difference_analysis.errors.full_messages.join(', ')
# 2
difference_analysis = DifferenceAnalysis.new(:site =>@openup0721, :site_from =>@openup0721)
assert !difference_analysis.save
assert_equal 'Site cannot compare with itself', difference_analysis.errors.full_messages.join(', ')
# 3
difference_analysis = DifferenceAnalysis.new(:site => @openupwiki, :site_from =>@openup0721)
assert !difference_analysis.save
assert_equal 'Site is not a baseline process', difference_analysis.errors.full_messages.join(', ')
difference_analysis = DifferenceAnalysis.new(:site => @openup0721, :site_from =>@openupwiki)
assert !difference_analysis.save
assert_equal 'Site from is not a baseline process', difference_analysis.errors.full_messages.join(', ')
end
# Shows:
#
def test02_perform_analysis
difference_analysis_item_count = DifferenceAnalysisItem.count
difference_analysis = DifferenceAnalysis.new(:site => @openup0721, :site_from => @openup0728)
assert difference_analysis.save
difference_analysis.reload
difference_analysis.perform_analysis
if ENV['EPFWIKI_TESTDATA'] == 'test'
assert_equal 10, difference_analysis.items.size
assert difference_analysis.save
assert_equal 10, difference_analysis.items.size
assert_equal 2, difference_analysis.items_removed.size
assert_equal 8, difference_analysis.items_equal.size
assert_equal 0, difference_analysis.items_changed.size
assert_equal 0, difference_analysis.items_htmlchanged.size
assert_equal 0, difference_analysis.items_new.size
else
assert_equal 617, DifferenceAnalysisItem.count #? not saved yet????
assert difference_analysis.save
assert_equal 617, DifferenceAnalysisItem.count
assert_equal 0, difference_analysis.items_removed.size
assert_equal 464, difference_analysis.items_equal.size
assert_equal 9, difference_analysis.items_changed.size
assert_equal 144, difference_analysis.items_htmlchanged.size
assert_equal 0, difference_analysis.items_new.size
end
end
end