require 'helper' class ZoneTest < OpenX::TestCase def test_create params = init_params zone = Zone.create!(params) assert_not_nil zone params.each do |k,v| assert_equal(v, zone.send(:"#{k}")) end zone.destroy end def test_find params = init_params zone = Zone.create!(params) assert_not_nil zone found_zone = Zone.find(zone.id) assert_not_nil found_zone assert_equal(zone, found_zone) zone.destroy end def test_find_all params = init_params zone = Zone.create!(params) assert_not_nil zone zones = Zone.find(:all, publisher.id) assert_equal(zones.sort, publisher.zones.sort) found_zone = zones.find { |z| z.id == zone.id } assert found_zone assert_equal(zone, found_zone) zone.destroy end def test_destroy params = init_params zone = Zone.create!(params) assert_not_nil zone id = zone.id assert_nothing_raised { zone.destroy } assert_raises(XMLRPC::FaultException) { Zone.find(id) } end def test_update params = init_params zone = Zone.create!(params) assert_not_nil zone found_zone = Zone.find(zone.id) found_zone.name = 'tenderlove' found_zone.save! found_zone = Zone.find(zone.id) assert_equal('tenderlove', found_zone.name) end def test_link_campaign assert zone.link_campaign(campaign) end def test_unlink_campaign assert_raises(XMLRPC::FaultException) { zone.unlink_campaign(campaign) } assert zone.link_campaign(campaign) assert zone.unlink_campaign(campaign) end def test_link_banner assert zone.link_banner(banner) end def test_unlink_banner assert_raises(XMLRPC::FaultException) { zone.unlink_banner(banner) } assert zone.link_banner(banner) assert zone.unlink_banner(banner) end def test_generate_tags assert_match(/iframe/, zone.generate_tags) end def init_params { :publisher => publisher, :name => "Zone - #{Time.now}", :type => Zone::BANNER, :width => 468, :height => 60, } end end