def test_invitation_join(rf, client, user_context, mock_is_authenticated): """ 그룹 초대 테스트 """ user = user_context.init.create_user() title = '5boon' user_context.init.create_groups( user=user, title=title, summary='5boon 팀원들과의 기분 공유' ) # 게스트 추가 guest = User.objects.create( username='******', name='test_guest', password='******' ) data = { 'code': hashlib.sha256(title.encode()).hexdigest(), } url = reverse( viewname="mood_groups:invitation-list", ) response = pytest_request(rf, method='post', url=url, user=guest, data=data) assert response.status_code == status.HTTP_201_CREATED
def test_no_today_mood_list(rf, client, user_context, mock_is_authenticated): user = user_context.init.create_user() url = reverse(viewname="moods:today_mood") response = pytest_request(rf, method='get', url=url, user=user) assert response.status_code == status.HTTP_200_OK
def test_my_group_delete_and_no_member_group(rf, client, user_context, mock_is_authenticated): """ 내 그룹 나가기 테스트, 그룹에 멤버가 없는경우 그룹 삭제 되는지 테스트 """ user = user_context.init.create_user() mood_group, user_mood_group = user_context.init.create_groups( user=user, title='5boon', summary='5boon 팀원들과의 기분 공유' ) url = reverse( viewname="mood_groups:my_group-detail", kwargs={ 'pk': user_mood_group.id } ) response = pytest_request(rf, method='delete', url=url, user=user) assert response.status_code == status.HTTP_204_NO_CONTENT assert not MoodGroup.objects.filter(id=user_mood_group.mood_group.id).exists()
def test_sns_login(rf, client, user_context, social_type): """ data 는 클라이언트에서 소셜인증으로 받아온 데이터를 가져온다. """ url = reverse(viewname="users:user_sns") data = { 'type': social_type, 'email': '*****@*****.**', 'name': '5boon_user' } User.objects.create( username='******'.format(data.get('type'), data.get('email').split('@')[0]), name=data.get('name'), password="******", email=data.get('email'), ) response = pytest_request(rf, method='post', url=url, data=data) assert response.status_code == status.HTTP_200_OK
def test_my_group_delete(rf, client, user_context, mock_is_authenticated): """ 그룹 나가기 """ user = user_context.init.create_user() # 그룹 생성 mood_group, user_mood_group = user_context.init.create_groups( user=user, title='5boon', summary='5boon 팀원들과의 기분 공유' ) guest = User.objects.create( username='******', name='test_guest', password='******' ) # user 기분 생성 mood = Mood.objects.create(status=Mood.GOOD, simple_summary='test') UserMood.objects.create(user=user, mood=mood) # guest 기분 생성 guest_mood = Mood.objects.create(status=Mood.BAD, simple_summary='guest mood summary') UserMood.objects.create(user=guest, mood=guest_mood) UserMood.objects.create( user=guest, mood=guest_mood, mood_group=mood_group ) # 그룹에 게스트 추가 UserMoodGroup.objects.create( user=guest, mood_group=mood_group, ) url = reverse( viewname="mood_groups:my_group-detail", kwargs={"pk": user_mood_group.id} ) response = pytest_request(rf, method='delete', url=url, user=user) assert response.status_code == status.HTTP_204_NO_CONTENT assert MoodGroup.objects.filter(id=user_mood_group.mood_group.id).exists() assert not UserMoodGroup.objects.filter(id=user_mood_group.id).exists()
def test_user_password_update(rf, client, user_context, mock_is_authenticated): user = user_context.init.create_user() data = { 'new_password': '******' } url = reverse(viewname="users:user_password") response = pytest_request(rf, method='patch', url=url, data=data, user=user) assert response.status_code == status.HTTP_200_OK
def test_user_email_check(rf, client, user_context, mock_send_pw_email): url = reverse(viewname="users:user_check") user = user_context.init.create_user() data = { 'email': user.email } response = pytest_request(rf, method='get', url=url, user=user, data=data) assert response.status_code == status.HTTP_200_OK
def test_week_mood_list(rf, client, user_context, mock_is_authenticated, mood_status): user = user_context.init.create_user() today = timezone.now() mood = Mood.objects.create(status=mood_status, simple_summary='test') UserMood.objects.create(created=today, modified=today, user=user, mood=mood) url = reverse(viewname="moods:week_mood") response = pytest_request(rf, method='get', url=url, user=user) assert response.status_code == status.HTTP_200_OK assert list(response.data.keys()) == WEEK_MOOD_FIELDS_LIST
def test_user_password_find(rf, client, user_context, mock_send_pw_email): url = reverse(viewname="users:user_password") user = user_context.init.create_user() data = { 'username': user.username, 'email': user.email } response = pytest_request(rf, method='post', url=url, user=user, data=data) assert response.status_code == status.HTTP_200_OK
def test_today_mood_create(rf, client, user_context, mood_status, mock_is_authenticated): user = user_context.init.create_user() # 그룹 생성 mood_group, user_mood_group = user_context.init.create_groups( user=user, title='5boon', summary='5boon 팀원들과의 기분 공유') data = { "status": mood_status, "simple_summary": "테스트 기분", "group_list": [mood_group.id] } url = reverse(viewname="moods:today_mood") response = pytest_request(rf, method='post', url=url, user=user, data=data) assert response.status_code == status.HTTP_201_CREATED assert list(response.data.keys()) == MOOD_FIELDS_LIST
def test_year_mood_list(rf, client, user_context, mock_is_authenticated, mood_status): user = user_context.init.create_user() today = timezone.now() mood = Mood.objects.create(status=mood_status, simple_summary='test') UserMood.objects.create(created=today, modified=today, user=user, mood=mood) url = reverse(viewname="moods:year_mood", kwargs={ 'year': 2020, }) response = pytest_request(rf, method='get', url=url, user=user) assert response.status_code == status.HTTP_200_OK
def test_my_group_list(rf, client, user_context, mock_is_authenticated): """ 그룹 리스트 보기 """ user = user_context.init.create_user() user_context.init.create_groups( user=user, title='5boon', summary='5boon 팀원들과의 기분 공유' ) url = reverse(viewname="mood_groups:my_group-list") response = pytest_request(rf, method='get', url=url, user=user) assert response.status_code == status.HTTP_200_OK
def test_group_create(rf, client, user_context, mock_is_authenticated): """ 그룹 생성 """ user = user_context.init.create_user() data = { 'title': '5boon', 'summary': '5boon 팀원들과의 기분 공유' } url = reverse(viewname="mood_groups:group-list") response = pytest_request(rf, method='post', url=url, user=user, data=data) assert response.status_code == status.HTTP_201_CREATED
def test_user_register(rf, client, mock_update_employment_center_name): url = reverse(viewname="users:user_register") data = { 'username': '******', 'password': '******', 'name': 'name', 'email': '*****@*****.**' } response = pytest_request(rf, method='post', url=url, user=None, data=data) assert response.status_code == status.HTTP_201_CREATED assert response.data.get('username') == data.get('username') assert response.data.get('name') == data.get('name')
def test_sns_first_login(rf, client, user_context, social_type): """ data 는 클라이언트에서 소셜인증으로 받아온 데이터를 가져온다. 첫 로그인시 user 생성 """ url = reverse(viewname="users:user_sns") data = { 'type': social_type, 'email': '*****@*****.**', 'name': '5boon_user' } response = pytest_request(rf, method='post', url=url, data=data) assert response.status_code == status.HTTP_201_CREATED