Skip to content
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

Refactor: UNVALIDATED 에서 GUEST 로 권한을 변경하고 가입시 기존 권한을 CREW 에서 GUEST 로 변경한다. #1564

Merged
merged 10 commits into from
Oct 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@
import wooteco.prolog.AcceptanceSteps;
import wooteco.prolog.fixtures.GithubResponses;
import wooteco.prolog.login.application.dto.TokenResponse;
import wooteco.prolog.member.application.dto.MemberResponse;

public class LoginStepDefinitions extends AcceptanceSteps {

@Given("{string}(이)(가) 로그인을 하고")
public void 멤버가로그인을하고(String member) {
@Given("{string}(이)(가) 크루역할로 로그인을 하고")
public void 멤버가크루역할로로그인을하고(String member) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

원래 띄워쓰기에 _(언더스코어) 사용하지 않나용?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

새로 작성된 인수테스트를 제외한 기존 인수테스트의 조건에 맵핑될 메서드명을 다 해당 방식으로 작성했더라구요 컨벤션이였던 것으로 파악되서 통일되게 작성했습니다!! ( 저도 언더 스코어가 좋아요ㅎㅎ )

HashMap<String, Object> data = new HashMap<>();
data.put("code", GithubResponses.findByName(member).getCode());

Expand All @@ -22,6 +23,23 @@ public class LoginStepDefinitions extends AcceptanceSteps {
context.accessToken = tokenResponse.getAccessToken();

context.storage.put("username", GithubResponses.findByName(member).getLogin());
updateRoleToCrew();
}

private void updateRoleToCrew() {
final String loginUsername = (String) context.storage.get("username");
final Long memberId = findMemberIdByUsername(loginUsername);

HashMap<String, Object> data = new HashMap<>();
data.put("role", "CREW");

context.invokeHttpPatchWithToken("/members/" + memberId + "/role", data);
}

private Long findMemberIdByUsername(final String username) {
context.invokeHttpGet("/members/" + username);
final MemberResponse memberResponse = context.response.as(MemberResponse.class);
return memberResponse.getId();
}

@When("{string}(이)(가) 로그인을 하면")
Expand Down
40 changes: 20 additions & 20 deletions backend/src/acceptanceTest/resources/wooteco/prolog/article.feature
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
@api
Feature: 아티클 관련 기능

Background: 사전 작업
Given "브라운"이 로그인을 하고
Background: 사전 작업
Given "브라운"이 크루역할로 로그인을 하고

Scenario: 아티클을 작성하기
When 아티클을 작성하면
Then 아티클이 작성된다
Scenario: 아티클을 작성하기
When 아티클을 작성하면
Then 아티클이 작성된다

Scenario: 아티클을 전체 조회하기
Given 아티클을 여러개 작성하고
When 아티클을 전체 조회 하면
Then 아티클이 전체 조회 된다
Scenario: 아티클을 전체 조회하기
Given 아티클을 여러개 작성하고
When 아티클을 전체 조회 하면
Then 아티클이 전체 조회 된다

Scenario: 아티클을 수정하기
Given 아티클을 여러개 작성하고
When 1번 아티클을 수정하면
Then 아티클이 수정된다
Scenario: 아티클을 수정하기
Given 아티클을 여러개 작성하고
When 1번 아티클을 수정하면
Then 아티클이 수정된다

Scenario: 아티클을 삭제하기
Given 아티클을 여러개 작성하고
When 1번 아티클을 삭제하면
Then 아티클이 삭제된다
Scenario: 아티클을 삭제하기
Given 아티클을 여러개 작성하고
When 1번 아티클을 삭제하면
Then 아티클이 삭제된다

Scenario: Url og태그 파싱하기
When Url을 입력하면
Then og태그를 파싱해서 반환한다.
Scenario: Url og태그 파싱하기
When Url을 입력하면
Then og태그를 파싱해서 반환한다.
22 changes: 11 additions & 11 deletions backend/src/acceptanceTest/resources/wooteco/prolog/badges.feature
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
@api
Feature: 배지 관련 기능

Background: 사전 작업
Given 세션 여러개를 생성하고
And 미션 여러개를 생성하고
Background: 사전 작업
Given 세션 여러개를 생성하고
And 미션 여러개를 생성하고

Scenario: 존재하지 않는 멤버로 배지 조회하기
When 존재하지 않는 멤버의 배지를 조회하면
Then 존재하지 않는 멤버 관련 예외가 발생한다
Scenario: 존재하지 않는 멤버로 배지 조회하기
When 존재하지 않는 멤버의 배지를 조회하면
Then 존재하지 않는 멤버 관련 예외가 발생한다

Scenario: 배지목록 조회하기
Given "브라운"이 로그인을 하고
And 여러개의 스터디로그를 작성하고
When 배지를 조회하면
Then 열정왕 배지를 부여한다.
Scenario: 배지목록 조회하기
Given "브라운"이 크루역할로 로그인을 하고
And 여러개의 스터디로그를 작성하고
When 배지를 조회하면
Then 열정왕 배지를 부여한다.


44 changes: 22 additions & 22 deletions backend/src/acceptanceTest/resources/wooteco/prolog/comment.feature
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
@api
Feature: 댓글 관련 기능

Background: 사전 작업
Given "브라운"이 로그인을 하고
And 세션 여러개를 생성하고
And 미션 여러개를 생성하고
And 스터디로그를 작성하면
Background: 사전 작업
Given "브라운" 크루역할로 로그인을 하고
And 세션 여러개를 생성하고
And 미션 여러개를 생성하고
And 스터디로그를 작성하면

Scenario: 댓글 작성하기
When 1번 스터디로그에 대한 댓글을 작성하면
Then 댓글이 작성된다
Scenario: 댓글 작성하기
When 1번 스터디로그에 대한 댓글을 작성하면
Then 댓글이 작성된다

Scenario: 스터디로그의 댓글 목록 조회하기
Given 1번 스터디로그에 대한 댓글을 작성하고
And "웨지"가 로그인을 하고
And 1번 스터디로그에 대한 댓글을 작성하고
When 1번 스터디로그의 댓글을 조회하면
Then 해당 스터디로그의 댓글 목록을 조회한다
Scenario: 스터디로그의 댓글 목록 조회하기
Given 1번 스터디로그에 대한 댓글을 작성하고
And "웨지" 크루역할로 로그인을 하고
And 1번 스터디로그에 대한 댓글을 작성하고
When 1번 스터디로그의 댓글을 조회하면
Then 해당 스터디로그의 댓글 목록을 조회한다

Scenario: 댓글 수정하기
Given 1번 스터디로그에 대한 댓글을 작성하고
When 1번 스터디로그에 대한 1번 댓글을 수정하면
Then 댓글이 수정된다
Scenario: 댓글 수정하기
Given 1번 스터디로그에 대한 댓글을 작성하고
When 1번 스터디로그에 대한 1번 댓글을 수정하면
Then 댓글이 수정된다

Scenario: 댓글 삭제하기
Given 1번 스터디로그에 대한 댓글을 작성하고
When 1번 스터디로그에 대한 1번 댓글을 삭제하면
Then 댓글이 삭제된다
Scenario: 댓글 삭제하기
Given 1번 스터디로그에 대한 댓글을 작성하고
When 1번 스터디로그에 대한 1번 댓글을 삭제하면
Then 댓글이 삭제된다
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
@api
Feature: 커리큘럼 관련 기능

Background: 사전 작업
Given "수달"이 로그인을 하고
Background: 사전 작업
Given "수달" 크루역할로 로그인을 하고

Scenario: 커리큘럼 생성하기
When 커리큘럼을 생성하면
Then 커리큘럼이 생성된다
Scenario: 커리큘럼 생성하기
When 커리큘럼을 생성하면
Then 커리큘럼이 생성된다

Scenario: 커리큘럼 목록 조회하기
When 커리큘럼을 생성하고
And 커리쿨럼을 조회하면
Then 커리큘럼이 조회된다
Scenario: 커리큘럼 목록 조회하기
When 커리큘럼을 생성하고
And 커리쿨럼을 조회하면
Then 커리큘럼이 조회된다

Scenario: 커리큘럼 수정하기
When 커리큘럼을 생성하고
And 1번 커리쿨럼을 수정하면
Then 커리큘럼이 수정된다
Scenario: 커리큘럼 수정하기
When 커리큘럼을 생성하고
And 1번 커리쿨럼을 수정하면
Then 커리큘럼이 수정된다

Scenario: 커리큘럼 삭제하기
When 커리큘럼을 생성하고
And 1번 커리쿨럼을 삭제하면
Then 커리큘럼이 삭제된다
Scenario: 커리큘럼 삭제하기
When 커리큘럼을 생성하고
And 1번 커리쿨럼을 삭제하면
Then 커리큘럼이 삭제된다

Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
@api
Feature: 로드맵 답변 관련 기능

Background: 사전 작업
Given "2022 백엔드 레벨1" 세션을 생성하고 - 1번 세션
And 1번 세션에 "자바"라는 키워드를 순서 1, 중요도 1로 작성하고
And 1번 세션, 1번 키워드에 퀴즈를 작성하고
And "브라운"이 로그인을 하고
Background: 사전 작업
Given "2022 백엔드 레벨1" 세션을 생성하고 - 1번 세션
And 1번 세션에 "자바"라는 키워드를 순서 1, 중요도 1로 작성하고
And 1번 세션, 1번 키워드에 퀴즈를 작성하고
And "브라운"이 크루역할로 로그인을 하고

Scenario: 답변 생성하기
When 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하면
Then 답변이 생성된다
Scenario: 답변 생성하기
When 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하면
Then 답변이 생성된다

Scenario: 답변 조회하기
Given 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하고
When 1번 답변을 조회하면
Then 답변이 조회된다
Scenario: 답변 조회하기
Given 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하고
When 1번 답변을 조회하면
Then 답변이 조회된다

Scenario: 답변 수정하기
Given 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하고
When 1번 답변을 "Integer은 wrapper 클래스"로 수정하면
Then 답변이 수정된다
Scenario: 답변 수정하기
Given 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하고
When 1번 답변을 "Integer은 wrapper 클래스"로 수정하면
Then 답변이 수정된다

Scenario: 답변 삭제하기
Given 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하고
When 1번 답변을 삭제하면
Then 답변이 삭제된다
Scenario: 답변 삭제하기
Given 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하고
When 1번 답변을 삭제하면
Then 답변이 삭제된다

Scenario: 퀴즈에 대한 모든 답변 조회하기
Given 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하고
When 1번 퀴즈에 대한 답변들을 조회하면
Then 답변들이 조회된다
Scenario: 퀴즈에 대한 모든 답변 조회하기
Given 1번 퀴즈에 "varargs는 가변 인자"라는 답변을 생성하고
When 1번 퀴즈에 대한 답변들을 조회하면
Then 답변들이 조회된다
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
@api
Feature: 필터 관련 기능

Background: 사전 작업
Given "현구막"이 로그인을 하고
And "브라운"이 로그인을 하고
And "서니"가 로그인을 하고
Background: 사전 작업
Given "현구막"이 크루역할로 로그인을 하고
And "브라운"이 크루역할로 로그인을 하고
And "서니"가 크루역할로 로그인을 하고

Scenario: 필터 목록 조회하기
When 필터요청이 들어오면
Then nickname을 기준으로 멤버데이터들을 오름차순 정렬하여 반환한다
Scenario: 필터 목록 조회하기
When 필터요청이 들어오면
Then nickname을 기준으로 멤버데이터들을 오름차순 정렬하여 반환한다
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
@api
Feature: 레벨 로그 관련 기능

Background: 사전 작업
Given "브라운"이 로그인을 하고
Background: 사전 작업
Given "브라운"이 크루역할로 로그인을 하고

Scenario: 레벨 로그 작성하기
When 레벨로그를 작성하면
Then 레벨로그가 조회된다
Scenario: 레벨 로그 작성하기
When 레벨로그를 작성하면
Then 레벨로그가 조회된다

Scenario: 레벨 로그 삭제하기
When 레벨로그를 작성하고
And 레벨로그를 삭제하면
Then 레벨로그가 삭제된다
Scenario: 레벨 로그 삭제하기
When 레벨로그를 작성하고
And 레벨로그를 삭제하면
Then 레벨로그가 삭제된다

Scenario: 레벨 로그 수정하기
When 레벨로그를 작성하고
And 레벨로그를 수정하면
Then 레벨로그가 수정된다
Scenario: 레벨 로그 수정하기
When 레벨로그를 작성하고
And 레벨로그를 수정하면
Then 레벨로그가 수정된다


Scenario: 레벨 로그 목록 조회하기
When 레벨로그를 여러개 작성하면
Then 레벨로그가 여러개 조회된다
Scenario: 레벨 로그 목록 조회하기
When 레벨로그를 여러개 작성하면
Then 레벨로그가 여러개 조회된다

Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
@api
Feature: 멤버 관련 기능

Scenario: 자신의 멤버정보 조회하기
Given "브라운"이 로그인을 하고
When 자신의 멤버 정보를 조회하면
Then 멤버 정보가 조회된다
Scenario: 자신의 멤버정보 조회하기
Given "브라운"이 크루역할로 로그인을 하고
When 자신의 멤버 정보를 조회하면
Then 멤버 정보가 조회된다

Scenario: 자신의 정보를 수정하기
Given "브라운"이 로그인을 하고
When 자신의 닉네임을 "brown"으로 수정하면
Then "브라운"의 닉네임이 "brown"으로 수정
Scenario: 자신의 정보를 수정하기
Given "브라운"이 크루역할로 로그인을 하고
When 자신의 닉네임을 "brown"으로 수정하면
Then "브라운"의 닉네임이 "brown"으로 수정
32 changes: 16 additions & 16 deletions backend/src/acceptanceTest/resources/wooteco/prolog/mission.feature
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
@api
Feature: 로그인 기능

Background: 사전 작업
Given 세션 여러개를 생성하고
Background: 사전 작업
Given 세션 여러개를 생성하고

Scenario: 미션 등록하기
Given "브라운"이 로그인을 하고
When "이런저런" 미션 등록을 하면
Then 미션이 등록된다
Scenario: 미션 등록하기
Given "브라운"이 크루역할로 로그인을 하고
When "이런저런" 미션 등록을 하면
Then 미션이 등록된다

Scenario: 미션 조회하기
Given "브라운"이 로그인을 하고
And "이런저런" 미션 등록을 하고
When 미션 목록을 조회하면
Then 미션 목록을 받는다
Scenario: 미션 조회하기
Given "브라운"이 크루역할로 로그인을 하고
And "이런저런" 미션 등록을 하고
When 미션 목록을 조회하면
Then 미션 목록을 받는다

Scenario: 중복된 이름으로 미션 등록하기
Given "브라운"이 로그인을 하고
And "이런저런" 미션 등록을 하고
When "이런저런" 미션 등록을 하면
Then 미션을 실패한다
Scenario: 중복된 이름으로 미션 등록하기
Given "브라운"이 크루역할로 로그인을 하고
And "이런저런" 미션 등록을 하고
When "이런저런" 미션 등록을 하면
Then 미션을 실패한다
Loading
Loading