mirror of
https://github.com/duhanbalci/iyzico.git
synced 2026-03-03 20:29:18 +00:00
init
This commit is contained in:
76
tests/unit/errors.test.ts
Normal file
76
tests/unit/errors.test.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
/**
|
||||
* Error classes unit tests
|
||||
*/
|
||||
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import {
|
||||
IyzicoError,
|
||||
IyzicoRequestError,
|
||||
IyzicoResponseError,
|
||||
} from '../../src/errors';
|
||||
import type { ErrorResponse } from '../../src/types';
|
||||
|
||||
describe('IyzicoError', () => {
|
||||
it('should create error with message', () => {
|
||||
const error = new IyzicoError('Test error');
|
||||
expect(error.message).toBe('Test error');
|
||||
expect(error.name).toBe('IyzicoError');
|
||||
expect(error.code).toBeUndefined();
|
||||
expect(error.originalError).toBeUndefined();
|
||||
});
|
||||
|
||||
it('should create error with code and originalError', () => {
|
||||
const originalError = new Error('Original error');
|
||||
const error = new IyzicoError('Test error', 'TEST_CODE', originalError);
|
||||
expect(error.message).toBe('Test error');
|
||||
expect(error.code).toBe('TEST_CODE');
|
||||
expect(error.originalError).toBe(originalError);
|
||||
});
|
||||
});
|
||||
|
||||
describe('IyzicoRequestError', () => {
|
||||
it('should create request error', () => {
|
||||
const error = new IyzicoRequestError('Request failed');
|
||||
expect(error.message).toBe('Request failed');
|
||||
expect(error.name).toBe('IyzicoRequestError');
|
||||
expect(error.code).toBe('REQUEST_ERROR');
|
||||
});
|
||||
|
||||
it('should create request error with originalError', () => {
|
||||
const originalError = new Error('Validation error');
|
||||
const error = new IyzicoRequestError('Request failed', originalError);
|
||||
expect(error.message).toBe('Request failed');
|
||||
expect(error.code).toBe('REQUEST_ERROR');
|
||||
expect(error.originalError).toBe(originalError);
|
||||
});
|
||||
});
|
||||
|
||||
describe('IyzicoResponseError', () => {
|
||||
it('should create response error', () => {
|
||||
const errorResponse: ErrorResponse = {
|
||||
status: 'failure',
|
||||
errorCode: 'PAYMENT_FAILED',
|
||||
errorMessage: 'Payment failed',
|
||||
};
|
||||
const error = new IyzicoResponseError('Payment failed', errorResponse);
|
||||
expect(error.message).toBe('Payment failed');
|
||||
expect(error.name).toBe('IyzicoResponseError');
|
||||
expect(error.code).toBe('PAYMENT_FAILED');
|
||||
expect(error.errorResponse).toEqual(errorResponse);
|
||||
});
|
||||
|
||||
it('should create response error with originalError', () => {
|
||||
const errorResponse: ErrorResponse = {
|
||||
status: 'failure',
|
||||
errorCode: 'PAYMENT_FAILED',
|
||||
errorMessage: 'Payment failed',
|
||||
};
|
||||
const originalError = new Error('Network error');
|
||||
const error = new IyzicoResponseError('Payment failed', errorResponse, originalError);
|
||||
expect(error.message).toBe('Payment failed');
|
||||
expect(error.code).toBe('PAYMENT_FAILED');
|
||||
expect(error.errorResponse).toEqual(errorResponse);
|
||||
expect(error.originalError).toBe(originalError);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user