package main

import (
	"os"
	"path/filepath"
	"testing"
)

// TestProfilVeriOkumaIzolasyonu: profil parametreli okumalar yalnizca verilen profilin verisini dondurur.
func TestProfilVeriOkumaIzolasyonu(t *testing.T) {
	t.Setenv("APPDATA", t.TempDir())

	klasor, err := profilKlasoru("ahmet")
	if err != nil {
		t.Fatal(err)
	}
	dizin := filepath.Join(klasor, "eklenti-ayar")
	if err := os.MkdirAll(dizin, 0o700); err != nil {
		t.Fatal(err)
	}
	if err := os.WriteFile(filepath.Join(dizin, "everything.json"), []byte(`{"kullanici":"ahmet"}`), 0o600); err != nil {
		t.Fatal(err)
	}
	if _, err := profilKlasoru("ayse"); err != nil {
		t.Fatal(err)
	}

	if got := kayitliAyarProfil("ahmet", "everything"); string(got) != `{"kullanici":"ahmet"}` {
		t.Errorf("ahmet ayari okunamadi: %q", got)
	}
	if got := kayitliAyarProfil("ayse", "everything"); got != nil {
		t.Errorf("ayse, ahmet'in ayarini gormemeli: %q", got)
	}
	if got := kayitliAyarProfil("", "everything"); got != nil {
		t.Errorf("profil secilmemisken kok klasorde ayar olmamali: %q", got)
	}
}
