mirror of
https://github.com/evennia/evennia.git
synced 2026-03-28 18:47:16 +01:00
Adds unit tests for char create and delete, fixes bugs.
This commit is contained in:
parent
48b62a258a
commit
21972dac31
3 changed files with 28 additions and 2 deletions
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
<hr />
|
||||
<div class="form-group">
|
||||
<input class="form-control btn btn-outline-danger" type="submit" value="Submit" />
|
||||
<input class="form-control btn btn-outline-danger" type="submit" value="yes" />
|
||||
<input type="hidden" name="next" value="{{ next }}" />
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -97,6 +97,23 @@ class CharacterCreateView(EvenniaWebTest):
|
|||
url_name = 'character-create'
|
||||
unauthenticated_response = 302
|
||||
|
||||
def test_valid_access(self):
|
||||
"Account1 should be able to create a new character"
|
||||
# Login account
|
||||
self.login()
|
||||
|
||||
# Post data for a new character
|
||||
data = {
|
||||
'db_key': 'gannon',
|
||||
'desc': 'Some dude.'
|
||||
}
|
||||
|
||||
response = self.client.post(reverse(self.url_name), data=data, follow=True)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
# Make sure the character was actually created
|
||||
self.assertTrue(len(self.account.db._playable_characters) > 1, 'Account only has the following characters attributed to it: %s' % self.account.db._playable_characters)
|
||||
|
||||
class CharacterManageView(EvenniaWebTest):
|
||||
url_name = 'character-manage'
|
||||
unauthenticated_response = 302
|
||||
|
|
@ -152,6 +169,14 @@ class CharacterDeleteView(EvenniaWebTest):
|
|||
response = self.client.get(reverse(self.url_name, kwargs=self.get_kwargs()), follow=True)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
# Proceed with deleting it
|
||||
data = {'value': 'yes'}
|
||||
response = self.client.post(reverse(self.url_name, kwargs=self.get_kwargs()), data=data, follow=True)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
# Make sure it deleted
|
||||
self.assertFalse(self.char1 in self.account.db._playable_characters, 'Char1 is still in Account playable characters list.')
|
||||
|
||||
def test_invalid_access(self):
|
||||
"Account1 should not be able to delete Account2:Char2"
|
||||
# Login account
|
||||
|
|
|
|||
|
|
@ -345,11 +345,12 @@ class CharacterUpdateView(CharacterMixin, ObjectUpdateView):
|
|||
template_name = 'website/character_form.html'
|
||||
|
||||
class CharacterDeleteView(CharacterMixin, ObjectDeleteView):
|
||||
pass
|
||||
success_url = reverse_lazy('character-manage')
|
||||
|
||||
class CharacterCreateView(CharacterMixin, ObjectCreateView):
|
||||
|
||||
template_name = 'website/character_form.html'
|
||||
success_url = reverse_lazy('character-manage')
|
||||
|
||||
def form_valid(self, form):
|
||||
# Get account ref
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue