Skip to content

pageprologue/atdd-subway-service

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm node Website GitHub


지하철 노선도 미션

ATDD 강의 실습을 위한 지하철 노선도 애플리케이션


🚀 Getting Started

Install

npm 설치

cd frontend
npm install

frontend 디렉토리에서 수행해야 합니다.

Usage

webpack server 구동

npm run dev

application 구동

./gradlew bootRun

✏️ Code Review Process

텍스트와 이미지로 살펴보는 온라인 코드 리뷰 과정


🐞 Bug Report

버그를 발견한다면, Issues 에 등록해주세요 :)


📝 License

This project is MIT licensed.

인수테스트 시나리오

  • 지하철 노선

    Feature: 지하철 노선 기능
    
      Background
        Given 지하철역 등록되어 있음
      
      Scenario: 지하철 구간을 관리
        When 지하철 노선 등록 요청
        Then 지하철 노선 등록됨
        When 지하철 노선 목록 조회 요청
        Then 등록한 지하철 노선 목록이 조회됨
        When 지하철 노선 수정 요청
        Then 등록한 지하철 노선 수정됨  
        When 지하철 노선 삭제 요청
        Then 지하철 노선 삭제됨
    
  • 지하철 구간

    Feature: 지하철 구간 기능
    
      Background
        Given 지하철역 등록되어 있음
        And 지하철 노선 등록되어 있음
        And 지하철 노선에 지하철역 등록되어 있음
      
      Scenario: 지하철 구간 정상 기능
        When 지하철 노선에 여러개의 역을 순서 상관 없이 등록 요청
        Then 지하철 구간 등록됨
        When 지하철 노선에 등록된 역 목록 조회 요청
        Then 등록한 지하철 구간이 반영된 역 목록이 조회됨
        When 지하철 구간 삭제 요청
        Then 지하철 구간 삭제됨
        When 지하철 노선에 등록된 역 목록 조회 요청
        Then 삭제한 지하철 구간이 반영된 역 목록이 조회됨
    
      Scenario: 지하철 구간 예외 발생
        When 노선에 이미 등록되어 있는 역을 등록 요청
        Then 지하철 구간 등록 실패됨
        When 지하철 노선과 연결되지 않는 역을 등록 요청
        Then 지하철 구간 등록 실패됨
        When 지하철 노선에 등록된 역 목록 조회 요청
        Then 등록한 지하철 구간이 반영되지 않은 역 목록이 조회됨
        When 등록된 지하철역이 두개일 때 지하철 구간 삭제 요청
        Then 지하철 구간 삭제 실패됨
        When 지하철 노선에 등록된 역 목록 조회 요청
        Then 삭제한 지하철 구간이 반영되지 않은 역 목록이 조회됨
    
  • 경로 조회

    Feature: 경로 조회 기능
    
      Background
        Given 지하철역 등록되어 있음
        And 지하철 노선 등록되어 있음
        And 지하철 노선에 지하철역 등록되어 있음
      
      Scenario: 최단 경로 조회 정상 기능
        Given 출발역과 도착역이 등록되어 있음
        And 출발역과 도착역이 같지 않음
        And 출발역과 도착역이 연결이 되어 있음
        When 최단 경로 조회 요청
        Then 최단 경로 구간 목록 조회됨
        And 총 거리 조회됨
        And 지하철 이용 요금 조회됨
    
      Scenario: 최단 경로 조회 예외 발생
        Given 출발역이나 도착역이 등록되어 있지 않음
        Or 출발역과 도착역이 같음
        Or 출발역과 도착역이 연결이 되어 있지 않음
        When 최단 경로 조회 요청
        Then 최단 경로 조회 실패됨
    
      Scenario: 지하철 요금 정상 기능
        Given 최단 거리가 10km 초과하는 경로 생성
        Or 최단 거리가 50km 초과하는 경로 생성
        When 최단 경로 조회 요청
        Then 최단 경로 구간 목록 조회됨
        And 10km를 초과하는 거리 조회됨
        And 지하철 추가 운임 요금 조회됨
    
        Given 추가 요금이 있는 노선 생성
        When 최단 경로 조회 요청
        Then 최단 경로 구간 목록 조회됨
        And 총 거리 조회됨
        And 지하철 추가 운임 요금 조회됨
    
        Given 청소년 사용자 로그인 됨
        Or 어린이 사용자 로그인 됨
        When 최단 경로 조회 요청
        Then 최단 경로 구간 목록 조회됨
        And 총 거리 조회됨
        And 할인된 지하철 요금 조회됨
    
  • 로그인

    Feature: 로그인 기능
    
      Scenario: 로그인 정상 기능
        Given 회원 등록되어 있음
        And 로그인 정보 일치함 
        When 로그인 요청
        Then 로그인 성공
    
      Scenario: 로그인 예외 발생
        Given 회원 등록되어 있지 않음
        Or 로그인 정보 일치하지 않음
        When 로그인 요청
        Then 로그인 실패
    
  • 회원

    Feature: 회원 기능
    
      Scenario: 회원 정보 관리 정상 기능
        Given 회원 등록되어 있음
        When 회원 정보 조회 요청
        Then 회원 정보 조회됨
        When 회원 정보 수정 요청
        Then 회원 정보 수정됨
        When 회원 정보 삭제 요청
        Then 회원 정보 삭제됨
    
      Scenario: 내 정보 관리 정상 기능
        Given 내 정보 등록되어 있음
        When 로그인 요청
        Then 토큰 반환됨
        When 토큰으로 내 정보 조회 요청
        Then 내 정보 조회됨
        When 토큰으로 내 정보 수정 요청
        Then 내 정보 수정됨
        When 토큰으로 내 정보 삭제 요청
        Then 내 정보 삭제됨
    
  • 즐겨찾기

    Feature: 즐겨찾기 기능
    
      Background 
        Given 지하철역 등록되어 있음
        And 지하철 노선 등록되어 있음
        And 지하철 노선에 지하철역 등록되어 있음
        And 회원 등록되어 있음
    
      Scenario: 즐겨찾기 관리 정상 기능
        Given 로그인 되어있음
        And 유효한 토큰 사용
        When 즐겨찾기 생성을 요청
        Then 즐겨찾기 생성됨
        When 즐겨찾기 목록 조회 요청
        Then 즐겨찾기 목록 조회됨
        When 즐겨찾기 삭제 요청
        Then 즐겨찾기 삭제됨
    
      Scenario: 즐겨찾기 관리 정상 기능
        Given 로그인 되어있지 않음
        Or 유효하지 않은 토큰 사용
        Or 출발역과 도착역이 같음
        When 즐겨찾기 생성을 요청
        Then 즐겨찾기 생성 실패됨
        When 즐겨찾기 목록 조회 요청
        Then 즐겨찾기 목록 조회 실패됨
        When 즐겨찾기 삭제 요청
        Then 즐겨찾기 삭제 실패됨
    

About

우아한테크캠프 pro ATDD 과정 저장소

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SCSS 39.5%
  • Java 28.3%
  • Vue 23.1%
  • JavaScript 8.7%
  • HTML 0.4%