mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-26 19:53:59 -05:00
fix(group): add special flag to create method
To make the create method more consistent with the guidelines, this commit adds the `special` flag to the parameters. As this function will only be used to create the two hard-coded groups and to handle API requests at one or two places, adding the parameter should not be too problematic. Signed-off-by: David Mehren <git@herrmehren.de>
This commit is contained in:
parent
8c78656f8c
commit
5ba6b4ab67
5 changed files with 18 additions and 12 deletions
|
@ -43,11 +43,15 @@ export class Group {
|
|||
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
||||
private constructor() {}
|
||||
|
||||
public static create(name: string, displayName: string): Omit<Group, 'id'> {
|
||||
public static create(
|
||||
name: string,
|
||||
displayName: string,
|
||||
special: boolean,
|
||||
): Omit<Group, 'id'> {
|
||||
const newGroup = new Group();
|
||||
newGroup.name = name;
|
||||
newGroup.displayName = displayName;
|
||||
newGroup.special = false; // this attribute should only be true for the two special groups
|
||||
newGroup.special = special; // this attribute should only be true for the two special groups
|
||||
newGroup.members = [];
|
||||
return newGroup;
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ describe('GroupsService', () => {
|
|||
|
||||
service = module.get<GroupsService>(GroupsService);
|
||||
groupRepo = module.get<Repository<Group>>(getRepositoryToken(Group));
|
||||
group = Group.create('testGroup', 'Superheros') as Group;
|
||||
group = Group.create('testGroup', 'Superheros', false) as Group;
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
|
|
|
@ -35,8 +35,7 @@ export class GroupsService {
|
|||
displayName: string,
|
||||
special = false,
|
||||
): Promise<Group> {
|
||||
const group = Group.create(name, displayName);
|
||||
group.special = special;
|
||||
const group = Group.create(name, displayName, special);
|
||||
try {
|
||||
return await this.groupRepository.save(group);
|
||||
} catch {
|
||||
|
|
|
@ -365,6 +365,7 @@ describe('NotesService', () => {
|
|||
const group = Group.create(
|
||||
groupPermissionUpate.groupname,
|
||||
groupPermissionUpate.groupname,
|
||||
false,
|
||||
) as Group;
|
||||
const note = Note.create(user) as Note;
|
||||
describe('works', () => {
|
||||
|
@ -668,7 +669,7 @@ describe('NotesService', () => {
|
|||
describe('toNotePermissionsDto', () => {
|
||||
it('works', async () => {
|
||||
const user = User.create('hardcoded', 'Testy') as User;
|
||||
const group = Group.create('testGroup', 'testGroup') as Group;
|
||||
const group = Group.create('testGroup', 'testGroup', false) as Group;
|
||||
const note = Note.create(user) as Note;
|
||||
note.userPermissions = [
|
||||
{
|
||||
|
@ -703,7 +704,7 @@ describe('NotesService', () => {
|
|||
const user = User.create('hardcoded', 'Testy') as User;
|
||||
const author = Author.create(1);
|
||||
author.user = user;
|
||||
const group = Group.create('testGroup', 'testGroup') as Group;
|
||||
const group = Group.create('testGroup', 'testGroup', false) as Group;
|
||||
const content = 'testContent';
|
||||
jest
|
||||
.spyOn(noteRepo, 'save')
|
||||
|
@ -800,7 +801,7 @@ describe('NotesService', () => {
|
|||
author.user = user;
|
||||
const otherUser = User.create('other hardcoded', 'Testy2') as User;
|
||||
otherUser.username = 'other hardcoded user';
|
||||
const group = Group.create('testGroup', 'testGroup') as Group;
|
||||
const group = Group.create('testGroup', 'testGroup', false) as Group;
|
||||
const content = 'testContent';
|
||||
jest
|
||||
.spyOn(noteRepo, 'save')
|
||||
|
|
|
@ -265,28 +265,29 @@ describe('PermissionsService', () => {
|
|||
const everybody: Group = Group.create(
|
||||
SpecialGroup.EVERYONE,
|
||||
SpecialGroup.EVERYONE,
|
||||
true,
|
||||
) as Group;
|
||||
everybody.special = true;
|
||||
result[SpecialGroup.EVERYONE] = everybody;
|
||||
|
||||
const loggedIn = Group.create(
|
||||
SpecialGroup.LOGGED_IN,
|
||||
SpecialGroup.LOGGED_IN,
|
||||
true,
|
||||
) as Group;
|
||||
loggedIn.special = true;
|
||||
result[SpecialGroup.LOGGED_IN] = loggedIn;
|
||||
|
||||
const user1group = Group.create('user1group', 'user1group') as Group;
|
||||
const user1group = Group.create('user1group', 'user1group', false) as Group;
|
||||
user1group.members = [user1];
|
||||
result['user1group'] = user1group;
|
||||
|
||||
const user2group = Group.create('user2group', 'user2group') as Group;
|
||||
const user2group = Group.create('user2group', 'user2group', false) as Group;
|
||||
user2group.members = [user2];
|
||||
result['user2group'] = user2group;
|
||||
|
||||
const user1and2group = Group.create(
|
||||
'user1and2group',
|
||||
'user1and2group',
|
||||
false,
|
||||
) as Group;
|
||||
user1and2group.members = [user1, user2];
|
||||
result['user1and2group'] = user1and2group;
|
||||
|
@ -294,6 +295,7 @@ describe('PermissionsService', () => {
|
|||
const user2and1group = Group.create(
|
||||
'user2and1group',
|
||||
'user2and1group',
|
||||
false,
|
||||
) as Group;
|
||||
user2and1group.members = [user2, user1];
|
||||
result['user2and1group'] = user2and1group;
|
||||
|
|
Loading…
Reference in a new issue