import {mountWithTheme, shallow} from 'sentry-test/enzyme'; import RichHttpContent from 'sentry/components/events/interfaces/richHttpContent/richHttpContent'; describe('RichHttpContent', function () { let data; afterEach(function () {}); describe('getBodySection', function () { it('should return plain-text when given unrecognized inferred Content-Type', function () { data = { query: '', data: 'helloworld', headers: [], cookies: [], env: {}, inferredContentType: null, }; const wrapper = mountWithTheme(); expect( wrapper.find('[data-test-id="rich-http-content-body-section-pre"]') ).toBeTruthy(); }); it('should return a KeyValueList element when inferred Content-Type is x-www-form-urlencoded', function () { data = { query: '', data: {foo: ['bar'], bar: ['baz']}, headers: [], cookies: [], env: {}, inferredContentType: 'application/x-www-form-urlencoded', }; const wrapper = mountWithTheme(); expect( wrapper.find('[data-test-id="rich-http-content-body-key-value-list"]') ).toBeTruthy(); }); it('should return a ContextData element when inferred Content-Type is application/json', function () { data = { query: '', data: {foo: 'bar'}, headers: [], cookies: [], env: {}, inferredContentType: 'application/json', }; const wrapper = mountWithTheme(); expect( wrapper.find('[data-test-id="rich-http-content-body-context-data"]') ).toBeTruthy(); }); it('should not blow up in a malformed uri', function () { // > decodeURIComponent('a%AFc') // URIError: URI malformed data = { query: 'a%AFc', data: '', headers: [], cookies: [], env: {}, }; expect(() => shallow()).not.toThrow(URIError); }); it("should not cause an invariant violation if data.data isn't a string", function () { data = { query: '', data: [{foo: 'bar', baz: 1}], headers: [], cookies: [], env: {}, }; expect(() => mountWithTheme()).not.toThrow(); }); }); });