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 />
|
<hr />
|
||||||
<div class="form-group">
|
<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 }}" />
|
<input type="hidden" name="next" value="{{ next }}" />
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,23 @@ class CharacterCreateView(EvenniaWebTest):
|
||||||
url_name = 'character-create'
|
url_name = 'character-create'
|
||||||
unauthenticated_response = 302
|
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):
|
class CharacterManageView(EvenniaWebTest):
|
||||||
url_name = 'character-manage'
|
url_name = 'character-manage'
|
||||||
unauthenticated_response = 302
|
unauthenticated_response = 302
|
||||||
|
|
@ -152,6 +169,14 @@ class CharacterDeleteView(EvenniaWebTest):
|
||||||
response = self.client.get(reverse(self.url_name, kwargs=self.get_kwargs()), follow=True)
|
response = self.client.get(reverse(self.url_name, kwargs=self.get_kwargs()), follow=True)
|
||||||
self.assertEqual(response.status_code, 200)
|
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):
|
def test_invalid_access(self):
|
||||||
"Account1 should not be able to delete Account2:Char2"
|
"Account1 should not be able to delete Account2:Char2"
|
||||||
# Login account
|
# Login account
|
||||||
|
|
|
||||||
|
|
@ -345,11 +345,12 @@ class CharacterUpdateView(CharacterMixin, ObjectUpdateView):
|
||||||
template_name = 'website/character_form.html'
|
template_name = 'website/character_form.html'
|
||||||
|
|
||||||
class CharacterDeleteView(CharacterMixin, ObjectDeleteView):
|
class CharacterDeleteView(CharacterMixin, ObjectDeleteView):
|
||||||
pass
|
success_url = reverse_lazy('character-manage')
|
||||||
|
|
||||||
class CharacterCreateView(CharacterMixin, ObjectCreateView):
|
class CharacterCreateView(CharacterMixin, ObjectCreateView):
|
||||||
|
|
||||||
template_name = 'website/character_form.html'
|
template_name = 'website/character_form.html'
|
||||||
|
success_url = reverse_lazy('character-manage')
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
# Get account ref
|
# Get account ref
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue