49 lines
		
	
	
		
			924 B
		
	
	
	
		
			Go
		
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			924 B
		
	
	
	
		
			Go
		
	
	
	
|  | package core_test | ||
|  | 
 | ||
|  | import ( | ||
|  | 	"testing" | ||
|  | 
 | ||
|  | 	"github.com/pocketbase/pocketbase/core" | ||
|  | 	"github.com/pocketbase/pocketbase/tests" | ||
|  | ) | ||
|  | 
 | ||
|  | func TestRecordIsSuperUser(t *testing.T) { | ||
|  | 	t.Parallel() | ||
|  | 
 | ||
|  | 	app, _ := tests.NewTestApp() | ||
|  | 	defer app.Cleanup() | ||
|  | 
 | ||
|  | 	demo1, err := app.FindRecordById("demo1", "84nmscqy84lsi1t") | ||
|  | 	if err != nil { | ||
|  | 		t.Fatal(err) | ||
|  | 	} | ||
|  | 
 | ||
|  | 	user, err := app.FindAuthRecordByEmail("users", "test@example.com") | ||
|  | 	if err != nil { | ||
|  | 		t.Fatal(err) | ||
|  | 	} | ||
|  | 
 | ||
|  | 	superuser, err := app.FindAuthRecordByEmail(core.CollectionNameSuperusers, "test@example.com") | ||
|  | 	if err != nil { | ||
|  | 		t.Fatal(err) | ||
|  | 	} | ||
|  | 
 | ||
|  | 	scenarios := []struct { | ||
|  | 		record   *core.Record | ||
|  | 		expected bool | ||
|  | 	}{ | ||
|  | 		{demo1, false}, | ||
|  | 		{user, false}, | ||
|  | 		{superuser, true}, | ||
|  | 	} | ||
|  | 
 | ||
|  | 	for _, s := range scenarios { | ||
|  | 		t.Run(s.record.Collection().Name, func(t *testing.T) { | ||
|  | 			result := s.record.IsSuperuser() | ||
|  | 			if result != s.expected { | ||
|  | 				t.Fatalf("Expected %v, got %v", s.expected, result) | ||
|  | 			} | ||
|  | 		}) | ||
|  | 	} | ||
|  | } |