@furystack/auth-google
Version:
Google Authentication Provider for FuryStack
28 lines • 1.3 kB
JavaScript
import { Injector } from '@furystack/inject';
import { HttpUserContext } from '@furystack/rest-service';
import { usingAsync } from '@furystack/utils';
import { describe, expect, it, vi } from 'vitest';
import { GoogleLoginAction } from './login-action.js';
import { GoogleLoginService } from './login-service.js';
describe('GoogleLoginAction', () => {
const request = { url: 'https://google.com' };
const response = {};
it('Should be activated and disposed', async () => {
await usingAsync(new Injector(), async (i) => {
const testUser = { username: 'example', roles: [] };
const cookieLogin = vi.fn(() => Promise.resolve(testUser));
i.setExplicitInstance(i.getInstance(GoogleLoginService));
i.getInstance(GoogleLoginService).login = () => Promise.resolve(testUser);
i.setExplicitInstance({ cookieLogin }, HttpUserContext);
const result = await GoogleLoginAction({
request,
response,
injector: i,
getBody: () => Promise.resolve({ token: 'asd123' }),
});
expect(cookieLogin).toBeCalled();
expect(result.chunk.username).toBe('example');
});
});
});
//# sourceMappingURL=google-login-action.spec.js.map