Beispiel #1
0
def test_group_members(db):
    member = Member.objects.create(username='******')
    response = APIClient().post(
        '/api/devices/', {
            'user':
            member.token,
            'registration_id':
            'c-VNO1n4oPI:'
            'APA91bF7mS2twx1naJr5bax1-'
            'Zr7JAmRux4zyDgJ3aKpEdqCIFBRF0Al5xSRadIUQKmQQMvE4mWVoibsxCd1yzu'
            'PxQPLxDTT6Cw1wfZa1cEcI9m5bxfXTtWdjMHj4HhHQgJIx21EI9NZ'
        })
    assert response.status_code == 201
    assert GCMDevice.objects.count() == 1
    subscription = Subscription.objects.create(member=member,
                                               when='10:30',
                                               departure='DMIS',
                                               destination='KBTU')

    notify_members.apply(kwargs={'hour': 10, 'minute': 30})
    assert Confirmation.objects.count() == 1
    assert Confirmation.objects.last().subscription == subscription

    assert Confirmation.objects.last().confirmed is False
    response = APIClient().patch(
        '/api/confirmations/{}/'.format(Confirmation.objects.last().id), {})
    assert response.status_code == 200
    assert Confirmation.objects.last().confirmed is True

    group_members.apply(kwargs={'hour': 10, 'minute': 30})
    assert Group.objects.count() == 1
    assert Group.objects.last().members.count() == 1
    assert Group.objects.last().members.last() == member
Beispiel #2
0
def test_group_members_5(db):
    test_count = 5
    for counter in range(test_count):
        member = Member.objects.create(username='******')
        response = APIClient().post(
            '/api/devices/', {
                'user':
                member.token,
                'registration_id':
                'c-VNO1n4oPI:'
                'APA91bF7mS2twx1naJr5bax1-'
                'Zr7JAmRux4zyDgJ3aKpEdqCIFBRF0Al5xSRadIUQKmQQMvE4mWVoibsxCd1yzu'
                'PxQPLxDTT6Cw1wfZa1cEcI9m5bxfXTtWdjMHj4HhHQgJIx21EI9NZ'
            })
        assert response.status_code == 201
        Subscription.objects.create(member=member,
                                    when='10:30',
                                    departure='DMIS',
                                    destination='KBTU')

    assert GCMDevice.objects.count() == test_count

    notify_members.apply(kwargs={'hour': 10, 'minute': 30})
    assert Confirmation.objects.count() == test_count

    confirmations = Confirmation.objects.all()
    for confirmation in confirmations:
        response = APIClient().patch(
            '/api/confirmations/{}/'.format(confirmation.id), {})
        assert response.status_code == 200

    group_members.apply(kwargs={'hour': 10, 'minute': 30})
    groups = Group.objects.all()
    assert groups.count() == 2
    assert groups.first().members.count() == 3
    assert groups.last().members.count() == 2
    assert Member.objects.filter(group=groups.first()).count() == 3
    assert Member.objects.filter(group=groups.last()).count() == 2