package metadata

import (
	"testing"

	"github.com/nexuscrm/shared/pkg/constants"
)

func TestFormulaPermissionContextMergesSystemAndCustomPermissions(t *testing.T) {
	ctx := withFormulaPermissionContext(map[string]interface{}{
		constants.ContextKeySystemPermissions: map[string]bool{
			"SomeSystemPerm": true,
		},
		constants.ContextKeyCustomPermissions: map[string]bool{
			"CustomGate": true,
		},
	})

	permissions, ok := ctx["__Permission"].(map[string]bool)
	if !ok {
		t.Fatalf("__Permission = %#v, want map[string]bool", ctx["__Permission"])
	}
	if !permissions["SomeSystemPerm"] || !permissions["CustomGate"] {
		t.Fatalf("__Permission = %#v, want merged system/custom permissions", permissions)
	}
}
