package main

import (
	"strings"
	"testing"
)

// TestEklentiIzinBolumu: eklenti sayfasinda imzali izin tanimi gosterilir ve ayarlanabilir (data-izin).
func TestEklentiIzinBolumu(t *testing.T) {
	p := profilBilgi{Anahtar: "ahmet", KullaniciAdi: "ahmet"}
	e := kuruluEklenti{Anahtar: "everything", Surum: "1.0.21", Etkin: true, Izinler: []izinTanimi{{Anahtar: "everythingAra", Baslik: "Everything aramasi iznini istiyor", Aciklama: "Dosya adlarini arar."}}}
	s := eklentiIzinBolumu(p, e)
	for _, parca := range []string{`data-izin="everythingAra"`, "Everything aramasi iznini istiyor", "Dosya adlarini arar."} {
		if !strings.Contains(s, parca) {
			t.Errorf("eklenti izin bolumunde eksik: %q", parca)
		}
	}
}

// TestIzinSayfaHTMLKapsam: izin sayfasi genel izinleri ve yonetim bolumunu icerir.
func TestIzinSayfaHTMLKapsam(t *testing.T) {
	h := izinSayfaHTML(profilBilgi{Anahtar: "ahmet", KullaniciAdi: "ahmet"}, "tok")
	for _, parca := range []string{"Genel izinler", "/ayarlar/izin-hepsi", "Açık izin yok"} {
		if !strings.Contains(h, parca) {
			t.Errorf("izin sayfasinda eksik: %q", parca)
		}
	}
}
