우리는 이것저것 합니다.1
', 6 | moderatorId: 'user1', 7 | applyEndDate: toStringEndDateFormat(tomorrow), 8 | participants: [], 9 | personnel: '1', 10 | tags: [ 11 | 'JavaScript', 12 | 'Algorithm', 13 | ], 14 | }; 15 | 16 | export default writeForm; 17 | -------------------------------------------------------------------------------- /firestore.indexes.json: -------------------------------------------------------------------------------- 1 | { 2 | "indexes": [ 3 | { 4 | "collectionGroup": "groups", 5 | "queryScope": "COLLECTION", 6 | "fields": [ 7 | { 8 | "fieldPath": "tags", 9 | "arrayConfig": "CONTAINS" 10 | }, 11 | { 12 | "fieldPath": "applyEndDate", 13 | "order": "ASCENDING" 14 | } 15 | ] 16 | } 17 | ], 18 | "fieldOverrides": [] 19 | } 20 | -------------------------------------------------------------------------------- /src/pages/CrashErrorPage.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { Helmet } from 'react-helmet-async'; 4 | 5 | import CrashErrorContainer from '../containers/error/CrashErrorContainer'; 6 | 7 | const CrashErrorPage = ({ onResolve }) => ( 8 | <> 9 |test
21 |test
')); 35 | 36 | describe('render Write Editor Container contents text', () => { 37 | it('renders initial contents', () => { 38 | const { container } = renderWriteEditorContainer(); 39 | 40 | expect(container).toHaveTextContent(('test')); 41 | }); 42 | }); 43 | 44 | describe('dispatch actions call', () => { 45 | it('listens actions changeWriteField event', () => { 46 | const { getByLabelText, container } = renderWriteEditorContainer(); 47 | 48 | const contents = getByLabelText('contents').querySelector('div'); 49 | 50 | fireEvent.keyPress(contents, { 51 | target: { innerHTML: '안녕하세요!' }, 52 | }); 53 | 54 | expect(container).toHaveTextContent('안녕하세요!'); 55 | }); 56 | }); 57 | }); 58 | 59 | context('without contents', () => { 60 | given('contents', () => ('')); 61 | 62 | describe('render Write Editor Container contents text', () => { 63 | it('renders editor placeholder text', () => { 64 | const { container } = renderWriteEditorContainer(); 65 | 66 | expect(container).toHaveTextContent(('내용을 작성해주세요.')); 67 | }); 68 | }); 69 | }); 70 | }); 71 | -------------------------------------------------------------------------------- /src/components/main/StudyGroup.test.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { render } from '@testing-library/react'; 4 | 5 | import { MemoryRouter } from 'react-router-dom'; 6 | 7 | import { tomorrow } from '../../util/utils'; 8 | 9 | import StudyGroup from './StudyGroup'; 10 | import MockTheme from '../common/test/MockTheme'; 11 | 12 | const isCheckOverTen = (calendar) => (calendar < 9 ? '0' : ''); 13 | 14 | describe('StudyGroup', () => { 15 | const renderStudyGroup = ({ group }) => render(( 16 |{description}
97 |