-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
게시글 작성 api에서 사진을 없는 경우 empty file을 보내는 방식 수정 및 수정 관련 버그 수정 #557
Changes from 18 commits
18fdd26
14203f8
c29654b
e523cfb
50dfd03
4cd149d
e60f325
7d8131e
5b43aec
07ab5f8
5053dfb
82fb101
c6d5458
147d9f0
fb57587
ecd874e
1c95560
239c41c
4987bc1
f57798d
04ad070
8ef7516
6317aa7
4c9c315
265ba23
d23e65e
e0f3f81
fc165f7
0784e7c
7c15999
a68c06b
46aa064
648931d
34c11f2
2887b85
59b95cc
332b35f
5afb4e3
577b8fd
30fa5ee
f846ecc
c0ea5c4
6a4cb61
f1d8219
0989a38
6bf612c
8565736
ac8f438
105c4a3
dd3a9eb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import { deleteOverlappingNewLine } from '@utils/post/deleteOverlappingNewLine'; | ||
|
||
describe('연속된 개행은 하나의 개행으로 처리하는 유틸함수를 테스트한다.', () => { | ||
test('개행이 없는 문자열은 인자와 동일한 결과를 반환한다.', () => { | ||
const text = | ||
'안녕하세요. 이것은 유틸함수를 테스트하기 위한 문자열입니다. 동일한 결과물이 나와야 옳은 작동을 하는 유틸함수 입니다.'; | ||
const changedText = deleteOverlappingNewLine(text); | ||
|
||
expect(changedText).toBe(text); | ||
}); | ||
|
||
test('연속된 개행이 없는 문자열은 인자와 동일한 결과를 반환한다.', () => { | ||
const text = | ||
'안녕하세요. 이것은 유틸함수를 테스트하기 위한 문자열입니다.\n동일한 결과물이 나와야 옳은 작동을 하는 유틸함수 입니다.'; | ||
const changedText = deleteOverlappingNewLine(text); | ||
|
||
expect(changedText).toBe(text); | ||
}); | ||
|
||
test('2회 연속된 개행이 있는 문자열은 인자와 연속된 개행이 1회 개행으로 바뀐 결과를 반환한다.', () => { | ||
const text = | ||
'안녕하세요. 이것은 유틸함수를 테스트하기 위한 문자열입니다.\n\n동일한 결과물이 나와야 옳은 작동을 하는 유틸함수 입니다.'; | ||
const expectText = | ||
'안녕하세요. 이것은 유틸함수를 테스트하기 위한 문자열입니다.\n동일한 결과물이 나와야 옳은 작동을 하는 유틸함수 입니다.'; | ||
const changedText = deleteOverlappingNewLine(text); | ||
|
||
expect(changedText).toBe(expectText); | ||
}); | ||
|
||
test('3회 연속된 개행이 있는 문자열은 인자와 연속된 개행이 1회 개행으로 바뀐 결과를 반환한다.', () => { | ||
const text = | ||
'안녕하세요. 이것은 유틸함수를 테스트하기 위한 문자열입니다.\n\n\n동일한 결과물이 나와야 옳은 작동을 하는 유틸함수 입니다.'; | ||
const expectText = | ||
'안녕하세요. 이것은 유틸함수를 테스트하기 위한 문자열입니다.\n동일한 결과물이 나와야 옳은 작동을 하는 유틸함수 입니다.'; | ||
const changedText = deleteOverlappingNewLine(text); | ||
|
||
expect(changedText).toBe(expectText); | ||
}); | ||
}); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
import { convertTimeToWord } from '@utils/time'; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 이 파일 제목 다른 파일들처럼 테스트하려는 함수명(convertTimeword.test.ts)으로 통일하는거 어떠신가요? |
||
|
||
describe('게시글 작성시간을 숫자 문자열로 받아 현재 시간과 비교해 반올림한 차이를 한글로 반환하는 유틸함수를 테스트한다.', () => { | ||
test('2023-01-01 12:00에 작성한 글은 2023-01-01 12:05을 기준으로 "5분"이 반환된다.', () => { | ||
const nowDate = new Date('2023-01-01 12:05'); | ||
const result = convertTimeToWord('2023-01-01 12:00', nowDate); | ||
|
||
expect(result).toBe('5분 전 작성'); | ||
}); | ||
|
||
test('2023-01-01 12:00에 작성한 글은 2023-01-01 20:10을 기준으로 "8시간"이 반환된다.', () => { | ||
const nowDate = new Date('2023-01-01 20:10'); | ||
const result = convertTimeToWord('2023-01-01 12:00', nowDate); | ||
|
||
expect(result).toBe('8시간 전 작성'); | ||
}); | ||
|
||
test('2023-01-01 12:00에 작성한 글은 2023-01-02 13:00을 기준으로 "1일"이 반환된다.', () => { | ||
const nowDate = new Date('2023-01-02 13:00'); | ||
const result = convertTimeToWord('2023-01-01 12:00', nowDate); | ||
|
||
expect(result).toBe('1일 전 작성'); | ||
}); | ||
|
||
test('2023-01-01 12:00에 작성한 글은 2023-01-12 13:00을 기준으로 "11일"이 반환된다.', () => { | ||
const nowDate = new Date('2023-01-12 13:00'); | ||
const result = convertTimeToWord('2023-01-01 12:00', nowDate); | ||
|
||
expect(result).toBe('11일 전 작성'); | ||
}); | ||
|
||
test('작성된지 30일 이상이라면 작성 날짜를 반환한다.', () => { | ||
const nowDate = new Date('2023-02-01 13:00'); | ||
const result = convertTimeToWord('2023-01-01 12:00', nowDate); | ||
|
||
expect(result).toBe('2023-01-01'); | ||
}); | ||
}); | ||
|
||
describe('게시글 마감시간을 숫자 문자열로 받아 현재 시간과 비교해 반올림한 차이를 한글로 반환하는 유틸함수를 테스트한다.', () => { | ||
test('2023-01-01 12:00 기준으로 2023-01-01 12:10가 마감인 경우 "10분 후 마감"이 반환된다.', () => { | ||
const nowDate = new Date('2023-01-01 12:00'); | ||
const result = convertTimeToWord('2023-01-01 12:10', nowDate); | ||
|
||
expect(result).toBe('10분 후 마감'); | ||
}); | ||
|
||
test('2023-01-01 12:00 기준으로 2023-01-01 18:00가 마감인 경우 "6시간 후 마감"이 반환된다.', () => { | ||
const nowDate = new Date('2023-01-01 12:00'); | ||
const result = convertTimeToWord('2023-01-01 18:00', nowDate); | ||
|
||
expect(result).toBe('6시간 후 마감'); | ||
}); | ||
|
||
test('2023-01-01 12:00 기준으로 2023-01-03 12:00가 마감인 경우 "2일 후 마감"이 반환된다.', () => { | ||
const nowDate = new Date('2023-01-01 12:00'); | ||
const result = convertTimeToWord('2023-01-03 12:00', nowDate); | ||
|
||
expect(result).toBe('2일 후 마감'); | ||
}); | ||
}); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,53 @@ | ||
export type DeadlineOption = '10분' | '30분' | '1시간' | '6시간' | '1일'; | ||
import { Time } from '@type/post'; | ||
|
||
export const DEADLINE_OPTION: DeadlineOption[] = ['10분', '30분', '1시간', '6시간', '1일']; | ||
export type DeadlineOptionName = '1일' | '3일' | '5일' | '7일' | '14일'; | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👍👍 |
||
export interface DeadlineOptionInfo { | ||
name: DeadlineOptionName; | ||
time: Time; | ||
} | ||
|
||
export const DEADLINE_OPTION: DeadlineOptionInfo[] = [ | ||
{ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 오 분리하니까 훨씬 깔끔해졌네요!!👍 |
||
name: '1일', | ||
time: { | ||
day: 1, | ||
hour: 0, | ||
minute: 0, | ||
}, | ||
}, | ||
{ | ||
name: '3일', | ||
time: { | ||
day: 3, | ||
hour: 0, | ||
minute: 0, | ||
}, | ||
}, | ||
{ | ||
name: '5일', | ||
time: { | ||
day: 5, | ||
hour: 0, | ||
minute: 0, | ||
}, | ||
}, | ||
{ | ||
name: '7일', | ||
time: { | ||
day: 7, | ||
hour: 0, | ||
minute: 0, | ||
}, | ||
}, | ||
{ | ||
name: '14일', | ||
time: { | ||
day: 14, | ||
hour: 0, | ||
minute: 0, | ||
}, | ||
}, | ||
]; | ||
|
||
export const MAX_FILE_SIZE = 1500000; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
과도한 엔터키를 막을 수 있겠네요 👍👍
세심하신데요?