# frozen_string_literal: true require 'test_helper' class DeployAlternativeDomainTest < ActiveSupport::TestCase setup do @site = create :site @deploy_alt = @site.deploys.build type: 'DeployAlternativeDomain' end teardown do @site&.destroy end def random_tld PAK::ValidatesHostname::ALLOWED_TLDS.sample end test 'el hostname se ingresa manualmente' do assert_nil @deploy_alt.hostname end test 'el hostname es obligatorio' do assert_not @deploy_alt.valid? end test 'el hostname es válido' do assert_not @deploy_alt.update(hostname: ' ') assert_not @deploy_alt.update(hostname: 'custom.domain.root.') assert_not @deploy_alt.update(hostname: 'custom.domain') assert @deploy_alt.update(hostname: "custom.domain.#{random_tld}") end test 'el hostname tiene que ser único' do assert_not @deploy_alt.update(hostname: @site.hostname) end test 'se puede deployear' do assert @site.deploy_local.deploy assert @deploy_alt.update(hostname: "#{SecureRandom.hex}.sutty.#{random_tld}") assert @deploy_alt.deploy assert File.symlink?(@deploy_alt.destination) end end