package parser

import (
	"testing"

	"git.mchus.pro/mchus/logpile/internal/models"
)

func TestAppendExtractionWarnings(t *testing.T) {
	result := &models.AnalysisResult{
		Events: make([]models.Event, 0),
	}

	files := []ExtractedFile{
		{Path: "ok.log", Content: []byte("ok")},
		{Path: "big.log", Truncated: true, TruncatedMessage: "file exceeded size limit and was truncated"},
	}

	appendExtractionWarnings(result, files)

	if len(result.Events) != 1 {
		t.Fatalf("expected 1 warning event, got %d", len(result.Events))
	}
	ev := result.Events[0]
	if ev.Severity != models.SeverityWarning {
		t.Fatalf("expected warning severity, got %q", ev.Severity)
	}
	if ev.EventType != "Analysis Warning" {
		t.Fatalf("unexpected event type: %q", ev.EventType)
	}
	if ev.RawData == "" {
		t.Fatalf("expected warning details in RawData")
	}
}
