[Mini]도서 관리 프로그램 - 4. 사용자(Member)

이용준·2023년 5월 13일
0

도서관리

목록 보기
4/4

사용자 요구사항

  1. 사용자 등록 (Create)
  • 사용자명 / 전화번호 / 비밀번호
  • 제약 조건
    1. 하나의 도서관에 동일한 사용자+휴대전화 중복 불가
    2. 단, 동일한 사용자+휴대전화는 여러 도서관에 등록 가능
  1. 사용자 삭제 (Delete)
  • 제약 조건
    1. 사용자 대출중인 책 있을 경우 삭제 불가
    2. 사용자 삭제 시 다른 대출 기록 모두 삭제

Test

  • MemberRepositoryTests

    public class MemberRepositoryTests {
      @Autowired
      private MemberRepository repository;
    
      @Test // 100명 생성
      public void insertTest(){
          IntStream.rangeClosed(1,100).forEach(i->{
    
              Random random = new Random();
    
              ArrayList<String> lastName = new ArrayList<>(Arrays.asList("이","김","박","최","문","강","육","길","윤","한","전"));
              ArrayList<String> firstName = new ArrayList<>(Arrays.asList("춘","망","담","지","관","은","준","용","종","광"));
              ArrayList<String> middleName = new ArrayList<>(Arrays.asList("병","을","삼","직","환","승","일","기","혁","민"));
    
              Member member = Member.builder()
                      .mid(i)
                      .mname(lastName.get(random.nextInt(10))+middleName.get(random.nextInt(10))+firstName.get(random.nextInt(10)))
                      .password("1111")
                      .phone("010-"+numberGen(4)+"-"+numberGen(4))
                      .build();
    
              repository.save(member);
          });
      }
    
      // (전화번호) 4자리 난수 생성
      public static String numberGen(int len){
          Random random = new Random();
          String numStr = ""; //난수가 저장될 변수
    
          for(int i=0; i<len; i++){
              // 0-9 난수 생성
              String ran = Integer.toString(random.nextInt(10));
    
              numStr+=ran;
    
              // 중복 검사
              if(!numStr.contains(ran)) numStr+= ran;
          }
          return numStr;
      }
    
      // 사용자가 빌린 책 목록
      @Test
      public void testMemberWithBook(){
          List<Object[]> result = repository.getMemberWithBook(1L);
    
          for(Object[] arr : result){
              System.out.println(Arrays.toString(arr));
          }
      }
    
  • MemberServiceTests

    @SpringBootTest
    public class MemberServiceTests {
      @Autowired
      private MemberService service;
    
      @Test
      public void testRegister(){
          MemberDto dto = MemberDto.builder()
                  .mid(1L)
                  .mname("김춘삼")
                  .phone("010-1112-2221")
                  .password("1111")
                  .build();
    
          Long mid = service.register(dto);
          System.out.println("=".repeat(15)+" mid : "+mid+" =".repeat(15));
      }

참고

profile
뚝딱뚝딱

0개의 댓글