diff --git a/test/models/nameserver/glue_record_test.rb b/test/models/nameserver/glue_record_test.rb index 105138c8a..cec33ebf6 100644 --- a/test/models/nameserver/glue_record_test.rb +++ b/test/models/nameserver/glue_record_test.rb @@ -5,30 +5,41 @@ class NameserverGlueRecordTest < ActiveSupport::TestCase @nameserver = nameservers(:shop_ns1) end - def test_invalid_without_ip_if_glue_record_is_required - @nameserver.hostname = 'ns1.shop.test' - @nameserver.ipv4 = @nameserver.ipv6 = '' - assert @nameserver.invalid? - assert_includes @nameserver.errors.full_messages, 'Either IPv4 or IPv6 is required' \ + def test_invalid_when_glue_record_is_required_and_no_ip_is_provided + domain = Domain.new(name: 'shop.test') + nameserver = Nameserver.new(domain: domain, hostname: 'ns1.shop.test') + + assert nameserver.invalid? + assert_includes nameserver.errors.full_messages, 'Either IPv4 or IPv6 is required' \ ' for glue record generation' end - def test_valid_with_ip_if_glue_record_is_required - @nameserver.hostname = 'ns1.shop.test' - @nameserver.ipv4 = ['192.0.2.1'] - @nameserver.ipv6 = '' - assert @nameserver.valid? + def test_valid_when_glue_record_is_required_and_ipv4_is_provided + domain = Domain.new(name: 'shop.test') + nameserver = Nameserver.new(domain: domain, hostname: 'ns1.shop.test') + nameserver.ipv4 = ['192.0.2.1'] + + assert nameserver.valid? end - def test_valid_without_ip_if_glue_record_is_not_required - @nameserver.ipv4 = @nameserver.ipv6 = '' - assert @nameserver.valid? + def test_valid_when_glue_record_is_required_and_ipv6_is_provided + domain = Domain.new(name: 'shop.test') + nameserver = Nameserver.new(domain: domain, hostname: 'ns1.shop.test') + nameserver.ipv6 = ['2001:db8::1'] + + assert nameserver.valid? end - def test_valid_without_ip_when_glue_record_is_not_required + def test_valid_when_glue_record_is_not_required_and_no_ip_is_provided + domain = Domain.new(name: 'shop.test') + nameserver = Nameserver.new(domain: domain, hostname: 'ns1.registrar.test') + + assert nameserver.valid? + end + + def test_valid_when_glue_record_is_not_required_and_no_ip_is_provided_substring_match domain = Domain.new(name: 'le.test') - nameserver = Nameserver.new(domain: domain, hostname: 'ns1.example.test') - nameserver.ipv4 = nameserver.ipv6 = nil + nameserver = Nameserver.new(domain: domain, hostname: 'ns1.shop.test') assert nameserver.valid? end