package logger

import (
	"log/slog"
	"testing"
)

func TestRedactValueRedactsSensitiveKeys(t *testing.T) {
	t.Parallel()

	value := redactValue("refresh_token", slog.StringValue("secret-value"))
	if got := value.String(); got != "[REDACTED]" {
		t.Fatalf("expected redacted token, got %q", got)
	}
}

func TestRedactTextRedactsEmailAndPAN(t *testing.T) {
	t.Parallel()

	redacted := redactText("customer demo@example.com card 4111111111111111")
	if redacted != "customer [REDACTED_EMAIL] card [REDACTED_CARD]" {
		t.Fatalf("unexpected redaction: %q", redacted)
	}
}
