<오늘 한 일>
- 알고리즘 문제 풀이
- https://guco.tistory.com/245
- https://guco.tistory.com/246
- 오늘 문제를 너무 빨리 풀어버려서 한 문제 더 풀었다
- 팀프로젝트
전시회 전체 조회 시 접수중 상태인 전시회만 보이게끔 수정
전시회 추천 기능에서 접수중 상태인 전시회만 추천하도록 수정
admin 페이지에서 회원탈퇴를 누른 회원의 계정을 다시 is_active = True 상태로 돌려놓을 수 있게끔 수정
users앱 테스트코드 작성
from django.urls import reverse
from rest_framework import status
from rest_framework.test import APITestCase
from users.models import User
# ------------------------회원가입 테스트------------------------
class SignupViewTest(APITestCase):
def test_signup(self):
url = reverse("users:user-signup")
data = {
"email": "test@test.com",
"nickname": "test",
"password": "123",
"password_check": "123",
"gender": "여성",
}
response = self.client.post(url, data)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
# ------------------------로그인 테스트------------------------
class SigninViewTest(APITestCase):
def setUp(self):
self.user = User.objects.create_user(
email="test@test.com",
nickname="test",
password="123",
)
self.user.save()
def test_login(self):
url = reverse("users:user-signin")
login_data = {"email": "test@test.com", "password": "123"}
response = self.client.post(url, login_data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
# ------------------------유저 테스트------------------------
class UserViewTest(APITestCase):
@classmethod
def setUpTestData(cls):
cls.user_data = {
"email": "test@test.com",
"nickname": "testuser",
"password": "123",
}
cls.user = User.objects.create_user(**cls.user_data)
def setUp(self):
self.access_token = self.client.post(
reverse("users:user-signin"), self.user_data
).data["access"]
# ------------------------마이페이지 테스트------------------------
def test_mypage(self):
user_id = self.user.id
url = reverse("users:user-mypage", kwargs={"user_id": user_id})
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
# ------------------------회원수정 테스트------------------------
def test_user_update(self):
update_data = {"nickname": "goodman", "bio": "안녕하세요 테스트 중입니다"}
response = self.client.patch(
path=reverse("users:user-update-and-delete"),
data=update_data,
HTTP_AUTHORIZATION=f"Bearer {self.access_token}",
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
# ------------------------회원탈퇴 테스트------------------------
def test_user_delete(self):
response = self.client.delete(
path=reverse("users:user-update-and-delete"),
HTTP_AUTHORIZATION=f"Bearer {self.access_token}",
)
self.assertEqual(response.data, {"message": "탈퇴되었습니다."})
# ------------------------소셜(구글)로그인 테스트------------------------
class GoogleSigninTest(APITestCase):
def test_get_goolge(self):
url = reverse("users:google-signin")
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
- 테스트코드는 길지만 기본 of 기본 테스트코드여서 따로 정리는 안 했다
<느낀 점>
- 오늘 팀프로젝트에 기여를 한 게 별로 없다...
- 다 자잘자잘하게....(그래서 블로그에 따로 글을 작성할 일도 없었당,,)
- 위에 한 것들 끝내고 js 연결하는 거 하겠다고 호기롭게 얘기했는데 막상 하려니까 너무 오랜만이기도 하고 처음 접하는 부분이 있어서 구현해내질 못했다....
- 프론트엔드에도 좀 기여를 해야 할 텐데...
- 근데 지금 이제 남은 게 어려운 것들만 남은 것 같아서 뭔가 도맡겠다고 하기가...어렵지만...!! 내일은 진짜 백엔드 부분에서 할 게 더는 없어 보이니까 오늘 하려던 부분 말고 다른 js 부분을 해야겠다..!!!
- 뭔가 꾸역꾸역 하면 구현할 수 있겠지만 팀장님이 코드의 통일성을 중시하는 것 같고 쭉 혼자 도맡아서 js 해오셨는데 내가 괜히 더럽게 코드 짜면 오히려 방해만 될 것 같다 ㅋㅋㅋㅋ
- 그러니....내가 할 수 있는 부분(통일된 코드스타일을 유지할 수 있는 부분)을 넘겨받아야 할 것 같다!!
<내일 목표>
- 8~9시 알고리즘 문제 풀이
- 프론트엔드 js 연결해야 하는 부분 도맡아서 해내기