package workflow

import (
	"errors"
	"fmt"
	"testing"
)

func TestTerminalErrorMarkerSurvivesWrapping(t *testing.T) {
	err := fmt.Errorf("wrapped: %w", NewTerminalError(errors.New("restore failed")))
	if !IsTerminalError(err) {
		t.Fatal("expected terminal error")
	}
	if !IsTerminalReason(err.Error()) {
		t.Fatalf("expected terminal marker in %q", err)
	}
}

func TestIsTerminalReasonRejectsOrdinaryErrors(t *testing.T) {
	if IsTerminalReason("ordinary action failure") {
		t.Fatal("ordinary failure must remain retryable")
	}
}
