Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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()
Exemplo n.º 6
0
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
Exemplo n.º 7
0
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
Exemplo n.º 8
0
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
Exemplo n.º 9
0
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
Exemplo n.º 10
0
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
Exemplo n.º 11
0
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
Exemplo n.º 12
0
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
Exemplo n.º 13
0
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
Exemplo n.º 14
0
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')
Exemplo n.º 15
0
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