package migration

import (
	"testing"

	"github.com/ultisuite/ulti-backend/internal/mail/hosted"
)

func TestApplyCutoverDNSEmptyObject(t *testing.T) {
	var p Project
	applyCutoverDNS(&p, []byte(`{}`))
	if p.CutoverDNS != nil {
		t.Fatal("expected nil cutover dns for empty object")
	}
}

func TestApplyCutoverDNSReport(t *testing.T) {
	var p Project
	applyCutoverDNS(&p, []byte(`{"domain":"acme.com","txt_verified":true,"mx_verified":false}`))
	if p.CutoverDNS == nil || p.CutoverDNS.Domain != "acme.com" {
		t.Fatalf("got %#v", p.CutoverDNS)
	}
}

func TestDNSReportHasContent(t *testing.T) {
	if dnsReportHasContent(hosted.DNSCheckReport{}) {
		t.Fatal("empty report should have no content")
	}
	if !dnsReportHasContent(hosted.DNSCheckReport{Warnings: []string{"no domain_id"}}) {
		t.Fatal("warnings should count as content")
	}
}
