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();
+ })
});