The main server, and probably only repository in this org.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.1 KiB

  1. package models_test
  2. import (
  3. "git.aiterp.net/lucifer/lucifer/models"
  4. "github.com/stretchr/testify/assert"
  5. "testing"
  6. )
  7. func TestGroup_Permission_NotExisting(t *testing.T) {
  8. group := models.Group{
  9. ID: 1001,
  10. Name: "Illuminati",
  11. Permissions: []models.GroupPermission{},
  12. }
  13. perm := group.Permission(2001)
  14. assert.Equal(t, 1001, perm.GroupID)
  15. assert.Equal(t, 2001, perm.UserID)
  16. assert.False(t, perm.Read)
  17. assert.False(t, perm.Write)
  18. assert.False(t, perm.Create)
  19. assert.False(t, perm.Delete)
  20. assert.False(t, perm.Manage)
  21. }
  22. func TestGroup_Permission_Existing(t *testing.T) {
  23. group := models.Group{
  24. ID: 1002,
  25. Name: "The Not-So-Dark Side",
  26. Permissions: []models.GroupPermission{
  27. {
  28. GroupID: 1002,
  29. UserID: 2002,
  30. Read: true,
  31. Write: true,
  32. Create: false,
  33. Delete: false,
  34. Manage: false,
  35. },
  36. },
  37. }
  38. perm := group.Permission(2002)
  39. assert.Equal(t, 1002, perm.GroupID)
  40. assert.Equal(t, 2002, perm.UserID)
  41. assert.True(t, perm.Read)
  42. assert.True(t, perm.Write)
  43. assert.False(t, perm.Create)
  44. assert.False(t, perm.Delete)
  45. assert.False(t, perm.Manage)
  46. }