require File.dirname(__FILE__) + '/../test_helper' class SegmentTest < Test::Unit::TestCase fixtures :current_nodes, :nodes, :current_segments, :segments, :users set_fixture_class :current_segments => :Segment set_fixture_class :segments => :OldSegment set_fixture_class :current_nodes => :Node set_fixture_class :nodes => :OldNode def test_create segment_template = Segment.new(:node_a => nodes(:used_node_1).id, :node_b => nodes(:used_node_2).id, :user_id => users(:normal_user).id, :visible => 1, :tags => "") assert segment_template.save_with_history segment = Segment.find(segment_template.id) assert_not_nil segment assert_equal segment_template.node_a, segment.node_a assert_equal segment_template.node_b, segment.node_b assert_equal segment_template.user_id, segment.user_id assert_equal segment_template.visible, segment.visible assert_equal segment_template.tags, segment.tags assert_equal segment_template.timestamp.to_i, segment.timestamp.to_i assert_equal OldSegment.find(:all, :conditions => [ "id = ?", segment_template.id ]).length, 1 old_segment = OldSegment.find(:first, :conditions => [ "id = ?", segment_template.id ]) assert_not_nil old_segment assert_equal segment_template.node_a, old_segment.node_a assert_equal segment_template.node_b, old_segment.node_b assert_equal segment_template.user_id, old_segment.user_id assert_equal segment_template.visible, old_segment.visible assert_equal segment_template.tags, old_segment.tags assert_equal segment_template.timestamp.to_i, old_segment.timestamp.to_i end def test_update segment_template = Segment.find(1) assert_not_nil segment_template assert_equal OldSegment.find(:all, :conditions => [ "id = ?", segment_template.id ]).length, 1 old_segment_template = OldSegment.find(:first, :conditions => [ "id = ?", segment_template.id ]) assert_not_nil old_segment_template segment_template.node_a = nodes(:used_node_2).id segment_template.node_b = nodes(:used_node_1).id segment_template.tags = "updated=yes" assert segment_template.save_with_history segment = Segment.find(segment_template.id) assert_not_nil segment assert_equal segment_template.node_a, segment.node_a assert_equal segment_template.node_b, segment.node_b assert_equal segment_template.user_id, segment.user_id assert_equal segment_template.visible, segment.visible assert_equal segment_template.tags, segment.tags assert_equal segment_template.timestamp.to_i, segment.timestamp.to_i assert_equal OldSegment.find(:all, :conditions => [ "id = ?", segment_template.id ]).length, 2 assert_equal OldSegment.find(:all, :conditions => [ "id = ? and timestamp = ?", segment_template.id, segment_template.timestamp ]).length, 1 old_segment = OldSegment.find(:first, :conditions => [ "id = ? and timestamp = ?", segment_template.id, segment_template.timestamp ]) assert_not_nil old_segment assert_equal segment_template.node_a, old_segment.node_a assert_equal segment_template.node_b, old_segment.node_b assert_equal segment_template.user_id, old_segment.user_id assert_equal segment_template.visible, old_segment.visible assert_equal segment_template.tags, old_segment.tags assert_equal segment_template.timestamp.to_i, old_segment.timestamp.to_i end def test_delete segment_template = Segment.find(1) assert_not_nil segment_template assert_equal OldSegment.find(:all, :conditions => [ "id = ?", segment_template.id ]).length, 1 old_segment_template = OldSegment.find(:first, :conditions => [ "id = ?", segment_template.id ]) assert_not_nil old_segment_template segment_template.visible = 0 assert segment_template.save_with_history segment = Segment.find(segment_template.id) assert_not_nil segment assert_equal segment_template.node_a, segment.node_a assert_equal segment_template.node_b, segment.node_b assert_equal segment_template.user_id, segment.user_id assert_equal segment_template.visible, segment.visible assert_equal segment_template.tags, segment.tags assert_equal segment_template.timestamp.to_i, segment.timestamp.to_i assert_equal OldSegment.find(:all, :conditions => [ "id = ?", segment_template.id ]).length, 2 assert_equal OldSegment.find(:all, :conditions => [ "id = ? and timestamp = ?", segment_template.id, segment_template.timestamp ]).length, 1 old_segment = OldSegment.find(:first, :conditions => [ "id = ? and timestamp = ?", segment_template.id, segment_template.timestamp ]) assert_not_nil old_segment assert_equal segment_template.node_a, old_segment.node_a assert_equal segment_template.node_b, old_segment.node_b assert_equal segment_template.user_id, old_segment.user_id assert_equal segment_template.visible, old_segment.visible assert_equal segment_template.tags, old_segment.tags assert_equal segment_template.timestamp.to_i, old_segment.timestamp.to_i end end