Enforce roleId checks on all admin page actions
This commit is contained in:
@@ -48,11 +48,11 @@ describe('admin license-keys createKey action', () => {
|
||||
const req = createFormRequest({ email: 'jane@example.com' });
|
||||
|
||||
const err = await actions.createKey({ request: req, locals } as any).catch((e) => e);
|
||||
expect(isHttpError(err, 401)).toBe(true);
|
||||
expect(isHttpError(err, 403)).toBe(true);
|
||||
});
|
||||
|
||||
it('returns error when email is missing', async () => {
|
||||
const locals = createLocals(mockUser() as any);
|
||||
const locals = createLocals(mockUser({ roleId: 3 }) as any);
|
||||
const req = createFormRequest({});
|
||||
|
||||
const result = await actions.createKey({ request: req, locals } as any);
|
||||
@@ -65,7 +65,7 @@ describe('admin license-keys createKey action', () => {
|
||||
mockLicenseKeyCreate.mockResolvedValue({});
|
||||
sendMail.mockResolvedValue({ id: 'email-1' });
|
||||
|
||||
const locals = createLocals(mockUser() as any);
|
||||
const locals = createLocals(mockUser({ roleId: 3 }) as any);
|
||||
const req = createFormRequest({ email: 'nobody@example.com' });
|
||||
|
||||
const result = await actions.createKey({ request: req, locals } as any);
|
||||
@@ -86,7 +86,7 @@ describe('admin license-keys createKey action', () => {
|
||||
});
|
||||
|
||||
it('creates a license key and sends email with license_key variable', async () => {
|
||||
const user = mockUser();
|
||||
const user = mockUser({ roleId: 3 });
|
||||
const profile = { firstName: 'Jane' };
|
||||
|
||||
mockFindUnique.mockResolvedValue(user);
|
||||
@@ -117,7 +117,7 @@ describe('admin license-keys createKey action', () => {
|
||||
});
|
||||
|
||||
it('sends email with license_key even when profile is missing', async () => {
|
||||
const user = mockUser();
|
||||
const user = mockUser({ roleId: 3 });
|
||||
|
||||
mockFindUnique.mockResolvedValue(user);
|
||||
mockProfileFindFirst.mockResolvedValue(null);
|
||||
@@ -136,7 +136,7 @@ describe('admin license-keys createKey action', () => {
|
||||
});
|
||||
|
||||
it('still returns success when email sending fails', async () => {
|
||||
const user = mockUser();
|
||||
const user = mockUser({ roleId: 3 });
|
||||
|
||||
mockFindUnique.mockResolvedValue(user);
|
||||
mockProfileFindFirst.mockResolvedValue({ firstName: 'Jane' });
|
||||
@@ -166,11 +166,11 @@ describe('admin license-keys replace action', () => {
|
||||
const req = createFormRequest({ id: 'k1' });
|
||||
|
||||
const err = await actions.replace({ request: req, locals } as any).catch((e) => e);
|
||||
expect(isHttpError(err, 401)).toBe(true);
|
||||
expect(isHttpError(err, 403)).toBe(true);
|
||||
});
|
||||
|
||||
it('returns error when id is missing', async () => {
|
||||
const locals = createLocals(mockUser() as any);
|
||||
const locals = createLocals(mockUser({ roleId: 3 }) as any);
|
||||
const req = createFormRequest({});
|
||||
|
||||
const result = await actions.replace({ request: req, locals } as any);
|
||||
@@ -180,7 +180,7 @@ describe('admin license-keys replace action', () => {
|
||||
it('returns error when the key does not exist', async () => {
|
||||
mockLicenseKeyFindUnique.mockResolvedValue(null);
|
||||
|
||||
const locals = createLocals(mockUser() as any);
|
||||
const locals = createLocals(mockUser({ roleId: 3 }) as any);
|
||||
const req = createFormRequest({ id: 'missing' });
|
||||
|
||||
const result = await actions.replace({ request: req, locals } as any);
|
||||
@@ -197,7 +197,7 @@ describe('admin license-keys replace action', () => {
|
||||
mockLicenseKeyDelete.mockResolvedValue({});
|
||||
mockLicenseKeyCreate.mockResolvedValue({});
|
||||
|
||||
const locals = createLocals(mockUser() as any);
|
||||
const locals = createLocals(mockUser({ roleId: 3 }) as any);
|
||||
const req = createFormRequest({ id: 'k1' });
|
||||
|
||||
const result = await actions.replace({ request: req, locals } as any);
|
||||
|
||||
Reference in New Issue
Block a user