Refactored user model mock in app password tests to utilize a lean query for improved consistency in test behavior. Updated related test cases to reflect this change, ensuring accurate user data retrieval during authentication tests.
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
This commit is contained in:
parent
cb16385b33
commit
491900bdaf
@ -1,7 +1,10 @@
|
|||||||
import { jest } from '@jest/globals';
|
import { jest } from '@jest/globals';
|
||||||
|
|
||||||
|
const userQueryMock = {
|
||||||
|
lean: jest.fn(),
|
||||||
|
};
|
||||||
const userModelMock = {
|
const userModelMock = {
|
||||||
findOne: jest.fn(),
|
findOne: jest.fn(() => userQueryMock),
|
||||||
};
|
};
|
||||||
const appPasswordQueryMock = {
|
const appPasswordQueryMock = {
|
||||||
select: jest.fn(),
|
select: jest.fn(),
|
||||||
@ -90,7 +93,7 @@ describe('app-password authentication', () => {
|
|||||||
|
|
||||||
it('accepts a valid username and app password', async () => {
|
it('accepts a valid username and app password', async () => {
|
||||||
const user = { _id: 'user-1', username: 'slicer-user' };
|
const user = { _id: 'user-1', username: 'slicer-user' };
|
||||||
userModelMock.findOne.mockResolvedValue(user);
|
userQueryMock.lean.mockResolvedValue(user);
|
||||||
appPasswordQueryMock.lean.mockResolvedValue([{ secret: 'stored-hash' }]);
|
appPasswordQueryMock.lean.mockResolvedValue([{ secret: 'stored-hash' }]);
|
||||||
bcryptCompareMock.mockResolvedValue(true);
|
bcryptCompareMock.mockResolvedValue(true);
|
||||||
|
|
||||||
@ -105,7 +108,7 @@ describe('app-password authentication', () => {
|
|||||||
const user = { _id: 'user-1', username: 'slicer-user' };
|
const user = { _id: 'user-1', username: 'slicer-user' };
|
||||||
req.headers = {};
|
req.headers = {};
|
||||||
req.params.password = 'app-secret';
|
req.params.password = 'app-secret';
|
||||||
userModelMock.findOne.mockResolvedValue(user);
|
userQueryMock.lean.mockResolvedValue(user);
|
||||||
appPasswordQueryMock.lean.mockResolvedValue([{ secret: 'stored-hash' }]);
|
appPasswordQueryMock.lean.mockResolvedValue([{ secret: 'stored-hash' }]);
|
||||||
bcryptCompareMock.mockResolvedValue(true);
|
bcryptCompareMock.mockResolvedValue(true);
|
||||||
|
|
||||||
@ -117,7 +120,7 @@ describe('app-password authentication', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('rejects an invalid app password', async () => {
|
it('rejects an invalid app password', async () => {
|
||||||
userModelMock.findOne.mockResolvedValue({ _id: 'user-1', username: 'slicer-user' });
|
userQueryMock.lean.mockResolvedValue({ _id: 'user-1', username: 'slicer-user' });
|
||||||
appPasswordQueryMock.lean.mockResolvedValue([{ secret: 'stored-hash' }]);
|
appPasswordQueryMock.lean.mockResolvedValue([{ secret: 'stored-hash' }]);
|
||||||
bcryptCompareMock.mockResolvedValue(false);
|
bcryptCompareMock.mockResolvedValue(false);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user