| 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 |