package constants

import (
	"testing"
)

func TestApprovalStatusConstants_NonEmpty(t *testing.T) {
	statuses := []struct {
		name  string
		value string
	}{
		{"ApprovalStatusPending", ApprovalStatusPending},
		{"ApprovalStatusApproved", ApprovalStatusApproved},
		{"ApprovalStatusRejected", ApprovalStatusRejected},
		{"ApprovalStatusRemoved", ApprovalStatusRemoved},
	}

	for _, s := range statuses {
		if s.value == "" {
			t.Errorf("%s must not be empty", s.name)
		}
	}
}

func TestApprovalStatusConstants_NoDuplicates(t *testing.T) {
	statuses := []string{
		ApprovalStatusPending,
		ApprovalStatusApproved,
		ApprovalStatusRejected,
		ApprovalStatusRemoved,
	}

	seen := make(map[string]bool, len(statuses))
	for _, s := range statuses {
		if seen[s] {
			t.Errorf("duplicate approval status value: %q", s)
		}
		seen[s] = true
	}
}
