package session

import (
	"testing"

	"github.com/google/uuid"
)

func TestActiveProjectsSetGetClear(t *testing.T) {
	store := NewActiveProjects()
	projectID := uuid.New()

	if _, ok := store.Get("session-1"); ok {
		t.Fatal("Get() before Set() = true, want false")
	}

	store.Set("session-1", projectID)
	got, ok := store.Get("session-1")
	if !ok || got != projectID {
		t.Fatalf("Get() = (%v, %v), want (%v, true)", got, ok, projectID)
	}

	store.Clear("session-1")
	if _, ok := store.Get("session-1"); ok {
		t.Fatal("Get() after Clear() = true, want false")
	}
}
