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()
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))