diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-17 15:25:52 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-17 15:25:52 +0300 |
| commit | 914bd7cd6aa14e839332a98d91c30b19865b0cf2 (patch) | |
| tree | 02b11537237a204048589e14ed24938b805e42f7 /player-server/internal/service/perm_test.go | |
| parent | 3b24f0e1be832584d6550e8cc3e5d24329f66f90 (diff) | |
Restructure repo: move Go server into player-server/
Diffstat (limited to 'player-server/internal/service/perm_test.go')
| -rw-r--r-- | player-server/internal/service/perm_test.go | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/player-server/internal/service/perm_test.go b/player-server/internal/service/perm_test.go new file mode 100644 index 0000000..26c27b3 --- /dev/null +++ b/player-server/internal/service/perm_test.go @@ -0,0 +1,61 @@ +package service + +import ( + "context" + "errors" + "testing" + + "codeberg.org/snonux/player/internal/clock" + "codeberg.org/snonux/player/internal/model" + "codeberg.org/snonux/player/internal/repository" +) + +func TestPermissionAdminService_GrantPermission(t *testing.T) { + ctx := context.Background() + + tests := []struct { + name string + storeErr error + wantErr bool + }{ + { + name: "ok", + }, + { + name: "store error", + storeErr: errors.New("boom"), + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + var granted *model.SetPermission + store := &repository.MockStore{ + SetPermissionRepo: repository.MockSetPermissionRepo{ + GrantPermissionFunc: func(ctx context.Context, perm *model.SetPermission) error { + granted = perm + return tt.storeErr + }, + }, + } + svc := NewPermissionAdminService(store, clock.RealClock{}) + err := svc.GrantPermission(ctx, 1, 2, model.RoleViewer) + if tt.wantErr { + if err == nil { + t.Fatal("expected error") + } + return + } + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if granted == nil { + t.Fatal("expected permission granted") + } + if granted.Role != model.RoleViewer { + t.Fatalf("unexpected role %q", granted.Role) + } + }) + } +} |
