본문 바로가기
project/쇼핑몰 프로젝트

[쇼핑몰] 페이지 권한 설정 - 2

by 혀끄니 2023. 7. 13.
728x90

페이지 없이 Role에 따라 상품 등록 페이지에 접근이 가능한지 테스트 코드 작성

itemControllerTest.java

    @Test
    @DisplayName("상품 등록 페이지 권한 테스트")
    //현재 회원의 이름이 admin이고, 
    //role이 ADMIN인 유저가 로그인 된 상태로 테스트를 할 수 있도록 어노토에션
    @WithMockUser(username = "admin", roles = "ADMIN")
    public void itemFormTest() throws Exception{
        //상품등록 페이지에 요청을 get요청
        mockMvc.perform(MockMvcRequestBuilders.get("/admin/item/new"))
                //요청과 응답메시지를 확인할 수 있도록 콘솔창에 출력
                .andDo(print())
                //응답상태코드가 정산인지 확인
                .andExpect(status().isOk());
    }

   @Test
    @DisplayName("상품등록 페이지 일반 회원 접근 테스트")
    @WithMockUser(username = "user", roles = "USER")
    public void itemFormNotAdminTest()throws Exception{
        mockMvc.perform(MockMvcRequestBuilders.get("/admin/item/new"))
                .andDo(print())
                // 상품드록 페이지 진입 요청시 Forbidden 예외가 발생하면 
                // 테스트가 성공적으로 통과
                .andExpect(status().isForbidden());
    }
728x90