prac_jest파일
//validation.js
test("입력한 이메일 주소의 로컬파트에 영문 대소문자와 숫자, 특수문자는 덧셈기호(+), 하이픈(-), 언더바(_) 3개 외에 다른 값이 존재하면 이메일 형식이 아니다.", () => {
expect(isEmail("sparta00@naver.com")).toEqual(true);
expect(isEmail("sparta-00@naver.com")).toEqual(true);
expect(isEmail("spar_ta-00+@-na--ver-.c-o-m")).toEqual(true);
expect(isEmail("sp,a.rt/a00@naver.com")).toEqual(false);
expect(isEmail(";sp:a|rt[a00@naver.com")).toEqual(false);
});
test("입력한 이메일 주소 도메인에 영문 대소문자와 숫자, 점(.), 하이픈(-) 외에 다른 값이 존재하면 이메일 형식이 아니다.", () => {
expect(isEmail("sparta00@naver.com")).toEqual(true);
expect(isEmail("sparta00@na123ver.com")).toEqual(true);
expect(isEmail("sparta-00-@-na--ver-.c-o-m")).toEqual(true);
expect(isEmail("-sparta00@na;ve+r.co,m")).toEqual(false);
expect(isEmail("sparta00@nave#.^c&o/m")).toEqual(false);
});
//validation.spec.js
//localPart, domain 조건
const localPartCheck = /^[a-zA-Z0-9_+-]+$/;
const domainCheck = /^[a-zA-Z0-9.-]+$/;
if (!localPartCheck.test(localPart) || !domainCheck.test(domain)) {
return false;
}