Files
2026-03-29 03:52:43 +03:00

73 lines
2.0 KiB
TypeScript

import { Test, TestingModule } from '@nestjs/testing';
import { SessionService } from 'src/session/session.service';
describe('SessionService', () => {
let service: SessionService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [SessionService],
}).compile();
service = module.get<SessionService>(SessionService);
});
afterEach(() => {
jest.clearAllMocks();
});
describe('setFromHeaders', () => {
it('должен установить cookie из заголовка (массив)', () => {
const cookieHeader = ['session=abc123; Path=/; HttpOnly'];
service.setFromHeaders(cookieHeader);
const cookie = service.getCookie();
expect(cookie).toBe('session=abc123');
});
it('должен установить cookie без атрибутов', () => {
const cookieHeader = ['session=xyz789'];
service.setFromHeaders(cookieHeader);
const cookie = service.getCookie();
expect(cookie).toBe('session=xyz789');
});
it('должен обработать несколько cookie', () => {
const cookieHeader = ['session=abc; Path=/', 'other=xyz'];
service.setFromHeaders(cookieHeader);
const cookie = service.getCookie();
expect(cookie).toContain('session=abc');
});
});
describe('getCookie', () => {
it('должен вернуть null, если cookie не установлен', () => {
const cookie = service.getCookie();
expect(cookie).toBeNull();
});
it('должен вернуть установленный cookie', () => {
service.setFromHeaders(['session=test123']);
const cookie = service.getCookie();
expect(cookie).toBe('session=test123');
});
});
describe('clear', () => {
it('должен очистить cookie', () => {
service.setFromHeaders(['session=test123']);
service.clear();
const cookie = service.getCookie();
expect(cookie).toBeNull();
});
});
});