⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.72
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
grafana
/
public
/
app
/
features
/
inspector
/
View File Name :
InspectErrorTab.test.tsx
import { render, screen } from '@testing-library/react'; import React from 'react'; import { InspectErrorTab } from './InspectErrorTab'; describe('InspectErrorTab', () => { it('should return null when error does not exist', () => { const { container } = render(
); expect(container.childElementCount).toEqual(0); }); it('should return a jsonFormatter object of error.data if it exists', () => { const error = { data: { message: 'This is an error', error: 'my error', }, }; render(
); expect(screen.getByText('This is an error')).toBeInTheDocument(); expect(screen.getByText('error:')).toBeInTheDocument(); expect(screen.getByText('"my error"')).toBeInTheDocument(); }); it('should return a jsonFormatter object of error.message if it exists and data does not exist', () => { const error = { message: '{ "error": { "code": "BadRequest", "message": "Please provide below info when asking for support.", "details": [] } }', }; const { container } = render(
); expect(container.childElementCount).toEqual(1); expect(screen.getByText('code:')).toBeInTheDocument(); expect(screen.getByText('"BadRequest"')).toBeInTheDocument(); expect(screen.getByText('"Please provide below info when asking for support."')).toBeInTheDocument(); }); it('should return an h3 and jsonFormatter object of error.message if it exists and data does not exist', () => { const error = { message: '400 BadRequest, Error from Azure: { "error": { "code": "BadRequest", "message": "Please provide below info when asking for support.", "details": [] } }', }; const { container } = render(
); expect(container.childElementCount).toEqual(2); expect(screen.getByRole('heading', { name: '400 BadRequest, Error from Azure:' })).toBeInTheDocument(); expect(screen.getByText('code:')).toBeInTheDocument(); expect(screen.getByText('"BadRequest"')).toBeInTheDocument(); }); [ '{ invalidJSON{', "hello, I am an error that's just text, no json at all, altoough I do mention template variables {{test}}", 'and I am a simple string', ].forEach((errMsg) => { it(`should return error.message error.data does not exist nd error.message cannot be parsed - ${errMsg} `, () => { const error = { message: errMsg, }; render(
); expect(screen.queryByRole('heading')).toBeNull(); expect(screen.getByText(errMsg)).toBeInTheDocument(); }); }); it('should return a jsonFormatter object of error if it has no .data and no .message', () => { const error = { status: 400, }; const { container } = render(
); expect(container.childElementCount).toEqual(1); expect(screen.getByText('status:')).toBeInTheDocument(); expect(screen.getByText('400')).toBeInTheDocument(); }); it('should return a message along with a status', () => { const error = { status: 400, message: 'This is an error', }; render(
); expect(screen.getByText(/This is an error/)).toBeInTheDocument(); expect(screen.getByText(/Status: 400/)).toBeInTheDocument(); }); it('should return a JSON encoded object along with a status', () => { const error = { status: 400, message: '{ "error": { "code": "BadRequest", "message": "Please provide below info when asking for support.", "details": [] } }', }; render(
); expect(screen.getByText('"BadRequest"')).toBeInTheDocument(); expect(screen.getByText(/Status: 400/)).toBeInTheDocument(); }); it('should return multiple errors', () => { const errors = [ { status: 400, message: 'This is one error', }, { status: 401, message: 'This is another error', }, ]; render(
); expect(screen.getByText(/This is one error/)).toBeInTheDocument(); expect(screen.getByText(/Status: 400/)).toBeInTheDocument(); expect(screen.getByText(/This is another error/)).toBeInTheDocument(); expect(screen.getByText(/Status: 401/)).toBeInTheDocument(); }); });