feat(office): users admin UI, table rendering, and user save fixes
Add Users list/detail with ACL toggles and library people update/status APIs. Fix project table layout and ANSI-safe cell rendering, and decode array responses from people/status so saves no longer fail on JSON unmarshal. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package fetch
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestUserProfileUpdateBodyOmitsStatus(t *testing.T) {
|
||||
body := userProfileUpdateBody(true, nil)
|
||||
if _, ok := body["status"]; ok {
|
||||
t.Fatal("profile update must not include status")
|
||||
}
|
||||
if body["isAdmin"] != true {
|
||||
t.Fatal("expected isAdmin true")
|
||||
}
|
||||
}
|
||||
|
||||
func TestUserProfileUpdateBodyPartialAdminModules(t *testing.T) {
|
||||
body := userProfileUpdateBody(false, []string{"documents", "crm"})
|
||||
if body["isAdmin"] != false {
|
||||
t.Fatal("expected partial admin")
|
||||
}
|
||||
mods, ok := body["listAdminModules"].([]string)
|
||||
if !ok || len(mods) != 2 {
|
||||
t.Fatalf("modules=%v", body["listAdminModules"])
|
||||
}
|
||||
}
|
||||
|
||||
func TestIsSuspendedUserError(t *testing.T) {
|
||||
err := fmt.Errorf(`PUT JSON /api/2.0/people/x: 500 {"error":{"message":"The user is suspended"}}`)
|
||||
if !isSuspendedUserError(err) {
|
||||
t.Fatal("expected suspended detection")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user