Skip to content

Commit

Permalink
Merge pull request #219 from linkuniversity/develop
Browse files Browse the repository at this point in the history
Release version 1.7.8
  • Loading branch information
TWpower authored May 26, 2017
2 parents d5aca15 + 52ff1a2 commit 5089486
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 13 deletions.
19 changes: 9 additions & 10 deletions linku_backend/functional_tests/mainpage_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys


def test_login_and_logout_button_on_main_page(browser):
Expand All @@ -18,17 +19,15 @@ def test_login_and_logout_button_on_main_page(browser):
# 비밀번호를 1234를 입력하고
browser.find_element_by_xpath("//input[@name='password']").send_keys('1234')
# 로그인 버튼을 클릭했더니
#element = WebDriverWait(browser, 30).until(
# EC.presence_of_element_located((By.XPATH, "//form[@class='ui form']/button"))
#)
#browser.get(BASE_URL + '/login')
browser.find_element_by_xpath("//form[@class='ui form']/button").send_keys(Keys.ENTER)
# 로그아웃 버튼이 나올 때 까지 기다리자
logout_element = WebDriverWait(browser, 30).until(
EC.presence_of_element_located((By.XPATH, "//button[text()='로그아웃']"))
)
# 메인화면으로 다시 돌아왔고
#element.click()

#assert BASE_URL == browser.current_url
assert BASE_URL + "/" == browser.current_url
# 메인페이지에는 로그인이라고 써져있던 버튼이 로그아웃으로 바껴 있었다.
#logout_elem = browser.find_element_by_xpath("//button[text()='로그아웃']")
# 그래서 로그아웃 버튼을 눌렀더니
#logout_elem.click()
logout_element.click()
# 다시 로그인 버튼으로 바뀌었다.
#browser.find_element_by_xpath("//button[text()='로그인']")
browser.find_element_by_xpath("//button[text()='로그인']")
2 changes: 1 addition & 1 deletion linku_backend/functional_tests/meeting_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ def login_with(browser, username, password):
def test_show_meeting_infos(browser):
browser.get(BASE_URL)
meeting_card = browser.find_elements_by_xpath("//div[@id='meeting-card']")
assert len(meeting_card) == 2
assert len(meeting_card) == 1
1 change: 1 addition & 0 deletions linku_backend/linku/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^login/', obtain_auth_token),
url(r'^user/', views.get_user_info, name='get_user_info'),
url(r'^leave-user/', views.leave_user, name='leave_user'),
url(r'^participated-dates/', views.get_participated_dates, name='get_participated_dates'),
url(r'^apply-alarm/', views.apply_alarm, name='apply_alarm'),
url(r'^next-meeting-alarm/', views.next_meeting_alarm, name='next_meeting_alarm'),
Expand Down
21 changes: 21 additions & 0 deletions linku_backend/meeting/tests/user_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from rest_framework.authtoken.models import Token

from meeting.models import User, Meeting, StatusByDay
from django.core.exceptions import ObjectDoesNotExist


@pytest.mark.django_db
Expand Down Expand Up @@ -99,3 +100,23 @@ def test_next_meeting_alarm_request(client):
response = client.post('/next-meeting-alarm/', {}, **auth_headers)
assert response.status_code == 400
assert response.data['Message'] == "Already Done"


@pytest.mark.django_db
def test_leave_user(client):
user = create_test_user(client)

auth_headers = {
'HTTP_AUTHORIZATION': 'Token ' + get_login_token(user)
}

response = client.post('/leave-user/', {}, **auth_headers)

assert response.status_code == 200
assert response.data['Message'] == "Success"

try:
User.objects.get(username=user.username)
raise Exception
except ObjectDoesNotExist:
pass
10 changes: 10 additions & 0 deletions linku_backend/meeting/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,16 @@ def next_meeting_alarm(request, format=None):
return Response({"Message": "Success"})


@api_view(['POST'])
@authentication_classes((TokenAuthentication,))
@permission_classes((IsAuthenticated,))
def leave_user(request):
if request.method == 'POST':
request.user.delete()
return Response({"Message": "Success"})
return Response(status=status.HTTP_400_BAD_REQUEST)


@api_view(['POST'])
def check_university_verification_auth_number(request):
if request.method == 'POST':
Expand Down
2 changes: 1 addition & 1 deletion linku_frontend/linku/src/components/login/LoginForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const renderField = ({ input, label, type, htmlFor, labelText, meta: { touched,
const LoginForm = ({handleSubmit, submitting}) => {
return (
<Form onSubmit={handleSubmit}>
<Field name="username" component={renderField} htmlFor="username" labelText="이메일" type="text" validate={[emailRequired, emailCorrectForm]}/>
<Field name="username" component={renderField} htmlFor="username" labelText="이메일 (* 학교 메일이 아닌 가입 시 입력 하셨던 이메일 주소를 입력해주세요)" type="text" validate={[emailRequired, emailCorrectForm]}/>
<Field name="password" component={renderField} htmlFor="password" labelText="비밀번호" type="password" validate={passwordRequired}/>
<Button style={buttonStyle} type="submit" disabled={submitting} fluid>로그인</Button>
</Form>
Expand Down
1 change: 0 additions & 1 deletion linku_frontend/linku/src/sagas/meeting.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ function* fetchMeetingCardInfos(action){
try{
yield put(actions.requestMeetingCardInfos());
let meetings = [];
meetings.push(yield [call(service.getCurrentMeetingInfos)]);
meetings.push(yield [call(service.getPrearrangedMeetingInfos)]);
yield put(actions.receiveMeetingCardInfos(meetings));
}catch(e){
Expand Down

0 comments on commit 5089486

Please sign in to comment.