-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* refactor: E2E 테스트 코드 개선 및 추가 작성 (#701) * fix: 로그인 E2E 테스트 에러 개선 * refactor: 로그인 로직 E2E 테스트 코드 개선 - 로그인-새로고침-로그아웃 테스트 * refactor: 구글 로그인 커스텀 커맨드 로직 수정 * test(e2e): 좋아요를 누른 음식점은 위시리스트에 저장된다. * test(e2e): 좋아요를 취소하면 위시리스트에서 제거된다. * test(e2e): 좋아요를 누른 음식점을 위시리스트에서 좋아요를 해제해도 바로 제거되지 않는다. * refactor: getProfile 공통로직 훅 적용 * test(e2e): 모바일 환경 로그인 및 로그아웃 테스트 코드 작성 * hotfix: E2E 테스트 build 에러 개선 - 인프라 변경에 따라 코드 수정 * hotfix: E2E 테스트 env 오류 개선 * fix: msw worker가 뒤늦게 동작하는 에러 개선 * fix: 실행 스크립트 수정 - 모드와 환경변수 프리픽스와 일치하게 * infra: e2e 테스트 도중 생성된 비디오 s3에 업로드 * infra: e2e 테스트 도중 생성된 비디오 s3에 업로드 - cypress config 수정 * fix: lint 에러 수정 * infra: E2E 테스트 환경변수 설정 * hotfix: E2E 테스트 yml 코드 수정 * infra: 테스트 실패하더라도 s3 업로드 실행되도록 코드 수정 * infra: 테스트 실패했을 경우에만 s3 업로드 실행되도록 코드 수정 * infra: wait-on 설정 * fix: 환경변수 경로 오류 수정 * infra: timeout 시간 조정 * infra: timeout 시간 조정 * infra: timeout 시간 조정 (1시간) * test: skip 해제 및 timeout 설정 초기화 * refactor: s3 업로드 로직 수정 * fix: s3 업로드 로직 오탈자 수정 * fix: defaultCommandTimeout 1분으로 조정 * fix: 실패한 경우에만 비디오 업로드
- Loading branch information
1 parent
c04702a
commit 3bc7b4e
Showing
17 changed files
with
150 additions
and
98 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,38 @@ | ||
describe('좋아요 관련 기능을 테스트 한다.', () => { | ||
const targetName = '소문난성수감자탕'; | ||
|
||
beforeEach(() => { | ||
cy.visit('/restaurants/311?celebId=7'); | ||
cy.visit(''); | ||
|
||
cy.loginGoogleForDesktop(); | ||
cy.getByAriaLabel(`${targetName} 카드`).first().click(); | ||
cy.contains('위시리스트').click(); | ||
}); | ||
|
||
it('좋아요를 누른 음식점은 위시리스트에 저장된다.', () => { | ||
cy.getByAriaLabel('프로필').click(); | ||
cy.getByCy('dropdown').contains('위시리스트').click(); | ||
|
||
cy.get('ul').should('contain.text', targetName); | ||
}); | ||
|
||
it('성시경 소문난성수감자탕 페이지에서 좋아요를 한 후 위시리스트에 잘 담겨 있는지 확인한다.', () => { | ||
// 로그인이 되지 않은 상태에서 위시리스트 저장하기를 누른다. | ||
// cy.contains('위시리스트에 저장하기').click(); | ||
// cy.contains('구글로 로그인하기').click(); | ||
// // cy.loginGoogleForDesktop(); | ||
// // 위시리스트 버튼을 다시 누른다. | ||
// cy.contains('위시리스트에 저장하기').click(); | ||
// cy.get('button[aria-label="로그인"]').click(); // 프로필 아이콘을 누른다. | ||
// cy.get('li[data-name="위시리스트"]').click(); // 위시리스트 버튼을 누른다. | ||
// // 좋아요를 취소한다. | ||
// cy.get('li[aria-label="소문난성수감자탕 카드"]').find('button').click(); | ||
// cy.shouldIsLiked('소문난성수감자탕 카드', false); | ||
it('좋아요를 취소하면 위시리스트에서 제거된다.', () => { | ||
cy.contains('위시리스트').click(); | ||
cy.getByAriaLabel('프로필').click(); | ||
cy.getByCy('dropdown').contains('위시리스트').click(); | ||
|
||
cy.get('ul').should('not.contain.text', targetName); | ||
}); | ||
|
||
it('좋아요를 누른 음식점을 위시리스트에서 좋아요를 해제해도 바로 제거되지 않는다. 즉 새로고침을 해야 제거된다.', () => { | ||
cy.getByAriaLabel('프로필').click(); | ||
cy.getByCy('dropdown').contains('위시리스트').click(); | ||
|
||
cy.getByAriaLabel(`${targetName} 카드`).find('[aria-label="좋아요"]').click(); | ||
cy.get('ul').should('contain.text', targetName); | ||
|
||
cy.reload(); | ||
|
||
cy.get('ul').should('not.contain.text', targetName); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,28 @@ | ||
describe('로그인 관련 로직을 테스트 한다.', () => { | ||
it('사용자가 구글 로그인을 하면 비회원 상태이던 프로필 이미지가 구글 로그인 프로필 이미지로 변경된다.', () => { | ||
cy.visit('/restaurants/311?celebId=7'); | ||
it('로그인 - 새로고침 - 로그아웃 테스트', () => { | ||
cy.visit(''); | ||
|
||
cy.get('button[aria-label="로그인"]').click(); // 프로필 아이콘을 누른다. | ||
cy.get('li[data-name="로그인"]').click(); // 로그인 버튼을 누른다. | ||
cy.contains('구글로 로그인하기').click(); // 로그인 버튼을 누른다. | ||
cy.getByAriaLabel('프로필').click(); | ||
/** 로그인 전에는 마이 페이지 탭이 존재하지 않는다. */ | ||
cy.getByCy('dropdown').should('not.contain.text', '마이 페이지'); | ||
cy.getByAriaLabel('로그인').click(); | ||
cy.contains('구글로 로그인하기').click(); | ||
|
||
// cy.loginGoogleForDesktop(); | ||
/** 로그인에 성공했다면 마이 페이지 탭이 존재한다. */ | ||
cy.getByAriaLabel('프로필').click(); | ||
cy.getByCy('dropdown').should('contain.text', '마이 페이지'); | ||
|
||
// cy.get('button[aria-label="로그인"]').find('img').should('have.attr', 'alt', '푸만능 프로필'); | ||
/** 새로고침을 하더라도 로그인 상태는 유지된다. */ | ||
cy.reload(); | ||
cy.getByAriaLabel('프로필').click(); | ||
cy.getByCy('dropdown').should('contain.text', '마이 페이지'); | ||
|
||
/** 로그아웃 이후 프로필 클릭시 로그인 탭만 존재한다. */ | ||
cy.getByCy('dropdown').contains('마이 페이지').click(); | ||
cy.contains('로그아웃').click(); | ||
cy.wait(1000); | ||
cy.getByAriaLabel('프로필').click(); | ||
cy.getByCy('dropdown').should('contain.text', '로그인'); | ||
cy.getByCy('dropdown').should('not.contain.text', '마이 페이지'); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,24 @@ | ||
describe('로그인 관련 로직을 테스트 한다.', () => { | ||
beforeEach(() => { | ||
it('로그인 - 로그아웃 테스트', () => { | ||
cy.viewport('iphone-5'); | ||
cy.visit(''); | ||
|
||
cy.visit('/restaurants/311?celebId=7', { | ||
onBeforeLoad: (win: any) => { | ||
win.ontouchstart = true; | ||
}, | ||
}); | ||
/** 로그인에 성공하면 마이페이지에 접근할 수 있다. */ | ||
cy.get('nav').find('button').last().click(); | ||
cy.get('#root').should('contain.text', '비회원으로 이용하기'); | ||
cy.get('#root').should('contain.text', '카카오로 로그인하기'); | ||
cy.get('#root').should('contain.text', '구글로 로그인하기'); | ||
cy.get('button[type="google"]').click(); | ||
cy.wait(5000); | ||
|
||
cy.get('nav').find('button').last().click(); // 모바일 nav 하단의 마이 페이지 버튼을 누른다. | ||
cy.get('button[type="google"]').click(); // 구글 로그인 하기 버튼을 누른다. | ||
}); | ||
cy.get('nav').find('button').last().click(); | ||
cy.get('#root').should('contain.text', '로그아웃'); | ||
|
||
it('모바일에서 성시경, 소문난성수감자탕 페이지에서 로그인을 한 후 다시 성시경, 소문난성수감자탕 페이지로 돌아 간다.', () => { | ||
// cy.location().should(loc => { | ||
// expect(loc.href).to.eq('http://localhost:3000/restaurants/311?celebId=7'); | ||
// }); | ||
/** 로그아웃이 되었다면 프로필 버튼 클릭시 로그인 페이지로 이동한다. */ | ||
cy.contains('로그아웃').click(); | ||
cy.get('nav').find('button').last().click(); | ||
cy.get('#root').should('contain.text', '비회원으로 이용하기'); | ||
cy.get('#root').should('contain.text', '카카오로 로그인하기'); | ||
cy.get('#root').should('contain.text', '구글로 로그인하기'); | ||
}); | ||
|
||
// it('모바일에서 성시경, 소문난성수감자탕 페이지에서 로그인을 하고 회원 탈퇴 시 비회원 상태가 된다.', () => { | ||
// cy.get('nav').find('button').last().click(); // 모바일 nav 하단의 마이 페이지 버튼을 누른다. | ||
// cy.contains('회원탈퇴').click().wait(5000); | ||
// cy.get('button').contains('탈퇴하기').click(); | ||
|
||
// cy.get('nav').find('button').last().click(); // 모바일 nav 하단의 마이 페이지 버튼을 누른다. | ||
|
||
// cy.contains('비회원으로 이용하기'); | ||
// }); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.