diff --git a/assets/js/__test__/FeedbackPage-test.jsx b/assets/js/__test__/FeedbackPage-test.jsx index 30833785008ee604c1c32df65f8c79fb3b919ce2..2f978ceab8f432e912e3affb1a0c8361d22ffd40 100644 --- a/assets/js/__test__/FeedbackPage-test.jsx +++ b/assets/js/__test__/FeedbackPage-test.jsx @@ -1,5 +1,6 @@ import React from 'react'; import ReactTestUtils from 'react-dom/test-utils'; +import fetchMock from 'fetch-mock'; import FeedbackPage from '../FeedbackPage'; describe('FeedbackPage', () => { @@ -18,4 +19,50 @@ describe('FeedbackPage', () => { expect(titleh1.textContent).to.equal('Berikan Umpan Balik'); expect(titleh2.textContent).to.equal('Silahkan berikan umpan balik atas layanan yang disediakan oleh KaPe'); }); + it('handle title feedback input without problem', () => { + const feedbackPage = ReactTestUtils.renderIntoDocument( + , + ); + + const titleNode = ReactTestUtils.scryRenderedDOMComponentsWithTag(feedbackPage, 'input')[0]; + const title = "Halo"; + titleNode.value = title; + ReactTestUtils.Simulate.change(titleNode, { target: { name: "title", value: title } }); + expect(titleNode.value).to.equal(title); + expect(feedbackPage.state.title).to.equal(title); + }); + it('handle content feedback input without problem', () => { + const feedbackPage = ReactTestUtils.renderIntoDocument( + , + ); + + const contentNode = ReactTestUtils.scryRenderedDOMComponentsWithTag(feedbackPage, 'TextArea')[0]; + const content = "Good"; + contentNode.value = content; + ReactTestUtils.Simulate.change(contentNode, { target: { name: "content", value: content } }); + expect(contentNode.value).to.equal(content); + expect(feedbackPage.state.content).to.equal(content); + }); + it('submit without problem', () => { + fetchMock.post('*', {}); + const feedbackPage = ReactTestUtils.renderIntoDocument( + , + ); + + feedbackPage.state = {title:'halo', content:'good'}; + const form = ReactTestUtils.findRenderedDOMComponentWithTag(feedbackPage, 'Form'); + ReactTestUtils.Simulate.submit(form); + fetchMock.restore(); + }); + it('render without problem when submit error', () => { + fetchMock.post('*', 404); + const feedbackPage = ReactTestUtils.renderIntoDocument( + , + ); + + feedbackPage.state = {title:'halo', content:'good'}; + const form = ReactTestUtils.findRenderedDOMComponentWithTag(feedbackPage, 'Form'); + ReactTestUtils.Simulate.submit(form); + fetchMock.restore(); + }) });