package main

import (
	"strings"
	"testing"
)

func TestAnaSayfaKareKartlarVeKacis(t *testing.T) {
	liste := []profilBilgi{
		{Anahtar: "fikri007", KullaniciAdi: "fikri007"},
		{Anahtar: "omer", KullaniciAdi: "<b>omer</b>"},
	}
	s := anaSayfaHTML(liste, "tok")
	if !strings.Contains(s, `href="/ayarlar/hesap/fikri007"`) {
		t.Fatal("hesap karti linki yok")
	}
	if strings.Contains(s, "Aktif hesap") {
		t.Fatal("aktif hesap kavrami kalmamali")
	}
	if strings.Contains(s, "<b>omer</b>") {
		t.Fatal("kullanici adi kacirilmamis")
	}
	if !strings.Contains(s, `<meta name="csrf" content="tok">`) {
		t.Fatal("csrf meta yok")
	}
}

func TestHesapSayfasiAktifDegilseSadeceKullan(t *testing.T) {
	p := profilBilgi{Anahtar: "fikri007", KullaniciAdi: "fikri007"}
	s := hesapSayfaHTML(p, false, false, Izinler{}, nil, nil, false, "tok")
	if !strings.Contains(s, "Bu hesabı kullan") {
		t.Fatal("etkinlestirme dugmesi yok")
	}
	if strings.Contains(s, `<nav class="sekmeler">`) {
		t.Fatal("aktif olmayan hesapta sekme gosterilmemeli")
	}
}

func TestHesapSayfasiAktifSekmeler(t *testing.T) {
	p := profilBilgi{Anahtar: "omer", KullaniciAdi: "omer"}
	es := []eslesme{{Site: "fikoyt.com", TokenOzeti: "abc123", Tarih: "2026-10-16T10:00:00Z"}}
	s := hesapSayfaHTML(p, true, false, Izinler{EverythingAra: true}, es, []kuruluEklenti{{Anahtar: "everything", Surum: "1.0.0", Etkin: true}}, true, "tok")
	for _, parca := range []string{"data-izin=\"everythingAra\"", "fikoyt.com", "data-otomatik", "checked", "Hesabı çıkar", "/eklenti/everything"} {
		if !strings.Contains(s, parca) {
			t.Fatalf("eksik: %s", parca)
		}
	}
}

func TestEklentiSayfasiIslemleri(t *testing.T) {
	p := profilBilgi{Anahtar: "omer", KullaniciAdi: "omer"}
	s := eklentiSayfaHTML(p, kuruluEklenti{Anahtar: "everything", Surum: "1.0.0", Etkin: false}, "tok")
	if !strings.Contains(s, `"islem":"etkinlestir"`) || !strings.Contains(s, `"islem":"kaldir"`) {
		t.Fatal("eklenti islem dugmeleri eksik")
	}
}
