require 'test_helper' class DNS::ZoneTest < ActiveSupport::TestCase def test_valid_zone_fixture_is_valid assert valid_zone.valid?, proc { valid_zone.errors.full_messages } end def test_invalid_without_origin zone = valid_zone zone.origin = '' assert zone.invalid? end def test_invalid_when_origin_is_already_taken zone = valid_zone another_zone = zone.dup assert another_zone.invalid? end def test_invalid_without_ttl zone = valid_zone zone.ttl = '' assert zone.invalid? end def test_validates_ttl_format zone = valid_zone zone.ttl = 'text' assert zone.invalid? zone.ttl = '1.1' assert zone.invalid? zone.ttl = '1' assert zone.valid? end def test_invalid_without_refresh zone = valid_zone zone.refresh = '' assert zone.invalid? end def test_validates_refresh_format zone = valid_zone zone.refresh = 'text' assert zone.invalid? zone.refresh = '1.1' assert zone.invalid? zone.refresh = '1' assert zone.valid? end def test_invalid_without_retry zone = valid_zone zone.retry = '' assert zone.invalid? end def test_validates_retry_format zone = valid_zone zone.retry = 'text' assert zone.invalid? zone.retry = '1.1' assert zone.invalid? zone.retry = '1' assert zone.valid? end def test_invalid_without_expire zone = valid_zone zone.expire = '' assert zone.invalid? end def test_validates_expire_format zone = valid_zone zone.expire = 'text' assert zone.invalid? zone.expire = '1.1' assert zone.invalid? zone.expire = '1' assert zone.valid? end def test_invalid_without_minimum_ttl zone = valid_zone zone.minimum_ttl = '' assert zone.invalid? end def test_validates_minimum_ttl_format zone = valid_zone zone.minimum_ttl = 'text' assert zone.invalid? zone.minimum_ttl = '1.1' assert zone.invalid? zone.minimum_ttl = '1' assert zone.valid? end def test_invalid_without_email zone = valid_zone zone.email = '' assert zone.invalid? end def test_invalid_without_master_nameserver zone = valid_zone zone.master_nameserver = '' assert zone.invalid? end private def valid_zone dns_zones(:one) end end