@point3/logto-module
Version:
포인트3 내부 logto Authentication 모듈입니다
48 lines (40 loc) • 1.66 kB
text/typescript
import { Test } from "@nestjs/testing";
import { LogtoLoggerServiceToken, OAuthClient, OAuthClientToken, SignInType } from "..";
import { ConfigModule } from "@nestjs/config";
import { ConsoleLogger } from "@nestjs/common";
import { LogtoTokenVerifierToken, LogtoTokenVerifier } from "../../token";
describe('OAuthClient', () => {
let oauthClient: OAuthClient;
beforeEach(async () => {
const testingModule = await Test.createTestingModule({
imports: [
ConfigModule.forRoot({
envFilePath: `env/.env.${process.env.NODE_ENV}`, // Ensure this matches your environment file path
isGlobal: true,
}),
],
providers: [
{
provide: LogtoLoggerServiceToken,
useClass: ConsoleLogger
},
{
provide: OAuthClientToken,
useClass: OAuthClient
},
{
provide: LogtoTokenVerifierToken,
useClass: LogtoTokenVerifier
}
],
}).compile();
oauthClient = testingModule.get<OAuthClient>(OAuthClientToken);
});
it('로그인/ 회원가입을 위한 로그인 페이지 요청 URI 생성', () => {
const uri = oauthClient.getSignInURI(SignInType.Admin);
expect(uri).toContain('prompt=login');
});
it('잘못된 PAT 토큰으로 발급 시도 시 에러 발생', async () => {
await expect(oauthClient.fetchAccessTokenByPAT('invalid_pat')).rejects.toThrow();
});
});