Beispiel #1
0
    def test_delete_party(self):
        party = Party(
            name="new party name",
            type=int(PartyType.Private),
            location="new party location",
            leader=self.user,
        )
        party.save()
        id = party.id

        self.assertIsNotNone(cache.get('party:{}'.format(id)))
        state = party.get_state()
        self.assertIsNotNone(state)

        self.login()

        resp = self.delete('/api/party/{}/'.format(id))
        self.assertEqual(resp.status_code, 200)

        party = Party.objects.filter(id=id)
        self.assertTrue(not party.exists())
        self.assertIsNone(cache.get('party:{}'.format(id)))

        user = User.objects.create_user(username="******",
                                        email="*****@*****.**",
                                        password="******")
        user.save()
        party = Party(name="party",
                      type=int(PartyType.InGroup),
                      location="somewhere",
                      leader=user)
        party.save()

        resp = self.delete('/api/party/{}/'.format(party.id))
        self.assertEqual(resp.status_code, 403)

        state = party.get_state()
        state.delete()
        party.delete()
Beispiel #2
0
class UtilTestCase(TestCaseWithCache):
    def setUp(self):
        super().setUp()

        self.user = User.objects.create_user(
            email='*****@*****.**',
            password='******',
            username='******',
        )
        self.party = Party(
            name="party 1 name",
            type=int(PartyType.Private),
            location="party 1 location",
            leader=self.user,
        )
        self.party.save()
        self.state = self.party.get_state()

        cache.set('user-party:{}'.format(self.user.id), self.party.id)

        self.client.login(email=self.user.email, password='******')

    def test_get_party(self):
        (party, state) = get_party(self.state.id)

        self.assertEqual(party.as_dict(), self.party.as_dict())
        self.assertEqual(state.as_dict(), self.state.as_dict())

    def test_get_party_of_user(self):
        (party, state) = get_party_of_user(self.user.id)

        self.assertEqual(party.as_dict(), self.party.as_dict())
        self.assertEqual(state.as_dict(), self.state.as_dict())

    def test_get_party_invalid(self):
        with self.assertRaises(InvalidPartyError):
            get_party(0)

    def test_get_party_of_user_not_joined(self):
        cache.delete('user-party:{}'.format(self.user.id))

        with self.assertRaises(NotJoinedError):
            get_party_of_user(self.user.id)

    def test_get_party_of_user_invalid(self):
        cache.set('user-party:{}'.format(self.user.id), 0)

        with self.assertRaises(InvalidPartyError):
            get_party_of_user(self.user.id)

    def test_delete_invalid_party(self):
        self.state.delete()
        Party.objects.get(id=self.party.id)
        self.assertIsNone(PartyState.get(self.state.id))

        with self.assertRaises(InvalidPartyError):
            get_party(self.party.id)
        with self.assertRaises(Party.DoesNotExist):
            Party.objects.get(id=self.party.id)

    def test_delete_invalid_party_state(self):
        self.party.delete()
        with self.assertRaises(Party.DoesNotExist):
            Party.objects.get(id=self.party.id)
        self.assertIsNotNone(PartyState.get(self.state.id))

        with self.assertRaises(InvalidPartyError):
            get_party(self.state.id)

        self.assertIsNone(PartyState.get(self.state.id))