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

BDD 테스트 (시나리오 테스팅) #39

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
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
28 changes: 22 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,30 @@
# exchange-diary
# VODA 📙

> `exchange-diary` backend server
> VODA is an abbreviation for voice of diary

<div align="center">
<img width="250" height="350" src="https://user-images.githubusercontent.com/37536298/153554715-f821d0f8-8f51-4f4c-b9e6-a19e02ecb5c2.png" />
<img width="150" height="250" src="https://user-images.githubusercontent.com/37536298/153554715-f821d0f8-8f51-4f4c-b9e6-a19e02ecb5c2.png" />
</div>

- <strike>[V1 API](./docs/api.md)</strike>
- <strike>[Features](./docs/features.md)</strike>
- [Fixed Policy](./docs/fixed_policy.md)
`VODA` is an app to create an exchange diary.
You can write your diary by attaching audio, text or images, and you can share it with your friends. For voice recording, you can also modulate your voice to record it if you wish.

`VODA`는 교환일기를 작성하는 앱입니다. 음성 또는 텍스트 또는 이미지들을 첨부하여 당신의 일기를 작성할 수 있으며, 이를 친구들과 공유할 수 있습니다. 음성 녹음의 경우 원한다면 목소리를 변조하여 기록할 수도 있습니다.

더 자세한 정책은 다음에서 확인가능합니다. [about voda policies](./docs/fixed_policy.md)

## Terminology (domain)

- `room` = 교환일기방
- `roomMaster` = 교환일기방을 최초로 생성했거나, 양도받아 roomMember에서 승격된 존재
- `roomMember` = 특정 교환일기방에 참여하고 있는 멤버
- `diary` = 교환일기방에 생성되는 교환일기
- `member` = VODA의 회원 체계

- `alarm` = 교환일기방 알림
- `task`(event) = 알림에 필요한 이벤트
- `file` = 교환일기에 사용되는 static file (image / audio)
- `terms` = 회원가입 시 동의가 필요한 약관

## Structure

Expand Down
4 changes: 4 additions & 0 deletions tests/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Tests

- unit
- bdd
6 changes: 6 additions & 0 deletions tests/bdd/features/alarm/member_before_x_hour.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
@alarm @task
Feature: 1hour before I submit my exchange diary.
교환일기를 제출하기 1시간 전입니다.
@alarm @task
Feature: 4hour before I submit my exchange diary.
교환일기를 제출하기 4시간 전입니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/alarm/member_on_duty.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@alarm @task
Feature: Time to write a diary.
교환일기 작성해야 하는 순서가 되었습니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/alarm/room_period_fin.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@alarm @task @room
Feature: Scheduled exchange diary writing cycle (cycle) has arrived
예약해두었던 교환일기 작성주기(사이클)가 되었습니다.
15 changes: 15 additions & 0 deletions tests/bdd/features/diary/create.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@diary @task
Feature: Create a diary (without audio / image)
음성과 이미지가 없는 교환일기를 작성합니다.
@diary @file @task
Feature: Create a diary (with unmodulated audio)
변환되지 않은 오디오를 첨부한 교환일기를 작성합니다.
@diary @file @task
Feature: Create a diary (with modulated audio)
변환된 오디오를 첨부한 교환일기를 작성합니다.
@diary @file @task
Feature: Create a diary (with image)
이미지를 첨부한 교환일기를 작성합니다.
@diary @file @task
Feature: Create a diary (with audio / image)
오디오와 이미지를 첨부한 교환일기를 작성합니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/diary/retrieve.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@diary @file
Feature: Retrieve a diary
특정 교환일기의 상세정보를 확인합니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/member/login.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@member
Feature: Log in to voda app
voda에 로그인합니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/member/logout.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@member
Feature: Log out to voda app
voda에 로그아웃합니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/member/signout.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@member @terms
Feature: Sign out voda app
voda를 탈퇴합니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/member/signup.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@member @terms
Feature: Sign up to voda app
voda에 회원가입합니다. 닉네임 검사, oauth 어러개인경우 체크
4 changes: 4 additions & 0 deletions tests/bdd/features/member/update_profile.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@member @terms
Feature: Update user profile
유저의 프로필 정보를 업데이트 합니다.
알람 플래그 등
3 changes: 3 additions & 0 deletions tests/bdd/features/room/create.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@room @roomMaster @task
Feature: Create a new diary room
교환일기방을 새롭게 생성합니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/room/join.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@room @roomMember
Feature: Join a diary room
만들어진 교환일기방에 참여합니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/room/leave.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@room @roomMaster @roomMember
Feature: Leave a diary room
생성했거나 참여했던 교환일기방에서 나갑니다.
3 changes: 3 additions & 0 deletions tests/bdd/features/room/list.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@room @roomMaster @roomMember
Feature: Check the list of diary-rooms I have joined.
생성했거나 참여했던 교환일기방의 목록을 확인합니다.
14 changes: 14 additions & 0 deletions tests/bdd/features/room/patch.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
@room @roomMaster
Feature: Changing a diary room's hint / password
교환일기방 참여 시 필요한 code / hint를 변경합니다.

@room @roomMaster
Feature: Changing the order of writing exchange diaries between members
멤버들 끼리 교환일기방을 작성하는 순서를 변경합니다.

@room @roomMaster
Feature: Changing the period(cycle) of keeping a diary.
멤버들 끼리 교환일기방을 작성하는 주기를 변경합니다.



3 changes: 3 additions & 0 deletions tests/bdd/features/room/retrieve.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@room @roomMaster @roomMember
Feature: Retrieve a diary room detail.
특정 교환일기방의 상세정보를 확인합니다.
16 changes: 16 additions & 0 deletions tests/bdd/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
module bdd

go 1.17

require (
github.com/cucumber/gherkin-go/v19 v19.0.3 // indirect
github.com/cucumber/godog v0.12.4 // indirect
github.com/cucumber/messages-go/v16 v16.0.1 // indirect
github.com/gofrs/uuid v4.0.0+incompatible // indirect
github.com/hashicorp/go-immutable-radix v1.3.0 // indirect
github.com/hashicorp/go-memdb v1.3.0 // indirect
github.com/hashicorp/golang-lru v0.5.4 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/spf13/cobra v1.1.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
)
Loading