diff --git a/src/components/introduce/Review.jsx b/src/components/introduce/Review.jsx new file mode 100644 index 0000000..ffdff1e --- /dev/null +++ b/src/components/introduce/Review.jsx @@ -0,0 +1,29 @@ +import React from 'react'; + +import styled from '@emotion/styled'; + +const ReviewWrapper = styled.div` + +`; + +const Review = ({ review }) => { + const { + id, rating, content, createDate, + } = review; + + return ( + +
+ {rating} +
+
+ {content} +
+
+ {`${id} | ${createDate}`} +
+
+ ); +}; + +export default Review; diff --git a/src/components/introduce/Review.test.jsx b/src/components/introduce/Review.test.jsx new file mode 100644 index 0000000..c98ea3c --- /dev/null +++ b/src/components/introduce/Review.test.jsx @@ -0,0 +1,28 @@ +import React from 'react'; + +import { render } from '@testing-library/react'; + +import Review from './Review'; + +describe('Review', () => { + const mockReview = { + id: 'test@test.com', + rating: 3, + content: 'review', + createDate: new Date(), + }; + + const renderReview = (review) => render(( + + )); + + it('Render review contents', () => { + const { container } = renderReview(mockReview); + + expect(container).toHaveTextContent('review'); + expect(container).toHaveTextContent(3); + expect(container).toHaveTextContent('test@test.com'); + }); +}); diff --git a/src/components/introduce/StudyReviewForm.jsx b/src/components/introduce/ReviewForm.jsx similarity index 77% rename from src/components/introduce/StudyReviewForm.jsx rename to src/components/introduce/ReviewForm.jsx index ee04db4..76c4f57 100644 --- a/src/components/introduce/StudyReviewForm.jsx +++ b/src/components/introduce/ReviewForm.jsx @@ -7,7 +7,6 @@ import StarRatings from 'react-star-ratings'; import facepaint from 'facepaint'; import { STUDY_REVIEW_FORM } from '../../util/constants/constants'; -import { changeDateToTime, isCheckedTimeStatus } from '../../util/utils'; import palette from '../../styles/palette'; import Textarea from '../../styles/Textarea'; @@ -54,26 +53,15 @@ const StudyReviewFormButton = styled(Button)` margin: 1px 0 0.8rem 0.5rem; `; -const isValidateUserInfo = (user) => (participants) => !!participants +const isValidateUserInfo = (user, participants) => !!participants .find(({ id, confirm }) => id === user && confirm && confirm === true); -const StudyReviewForm = ({ - group, user, time, fields, onChangeReview, onSubmit, +const ReviewForm = ({ + participants, user, fields, onChangeReview, onSubmit, }) => { - const { - participants, personnel, applyEndDate, - } = group; + const { rating, content } = fields; - const { rating, review } = fields; - - const applyEndTime = changeDateToTime(applyEndDate); - - const valid = { - time, applyEndTime, participants, personnel, - }; - - // FIXME - 수정 필요 isCheckedTimeStatus - if (!isValidateUserInfo(user)(participants) || !isCheckedTimeStatus(valid)) { + if (!isValidateUserInfo(user, participants)) { return null; } @@ -112,8 +100,8 @@ const StudyReviewForm = ({