package javascript_test

import (
	"context"
	"testing"

	"bit.admedia.com/scm/ad/adpilot-indexing-code-parser.com/internal/service/parser/analyzers/detectors"
	"bit.admedia.com/scm/ad/adpilot-indexing-code-parser.com/internal/service/parser/analyzers/javascript"
)

const angularComponent = `
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html'
})
export class AppComponent {}
`

func TestAnalyzerDetectsAngularComponent(t *testing.T) {
	a := javascript.NewAnalyzer(detectors.DefaultRegistry())
	artifact, _, err := a.ParseFile(context.Background(), []byte(angularComponent), "app.component.ts", "typescript")
	if err != nil {
		t.Fatalf("ParseFile: %v", err)
	}
	found := false
	for _, node := range artifact.Nodes {
		if node.Name == "AppComponent" && node.Metadata != nil && node.Metadata["framework"] == "angular" {
			found = true
		}
	}
	if !found {
		t.Fatal("expected angular component node")
	}
}
