2019-02-15 17:46:20 +00:00
|
|
|
import json
|
|
|
|
|
|
|
|
|
|
from django.urls import reverse
|
|
|
|
|
from django.test import Client, RequestFactory
|
|
|
|
|
|
|
|
|
|
import reversion
|
|
|
|
|
|
|
|
|
|
from peeringdb_server.models import User, Organization
|
|
|
|
|
from peeringdb_server import autocomplete_views
|
2020-01-08 13:29:58 -06:00
|
|
|
from .util import ClientCase
|
2019-02-15 17:46:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class TestAutocomplete(ClientCase):
|
|
|
|
|
@classmethod
|
|
|
|
|
def setUpTestData(cls):
|
|
|
|
|
super(TestAutocomplete, cls).setUpTestData()
|
2019-12-05 16:57:52 +00:00
|
|
|
cls.staff_user = User.objects.create_user(
|
|
|
|
|
"staff", "staff@localhost", "staff", is_staff=True
|
|
|
|
|
)
|
2019-02-15 17:46:20 +00:00
|
|
|
|
|
|
|
|
def setUp(self):
|
|
|
|
|
self.factory = RequestFactory()
|
|
|
|
|
|
|
|
|
|
def test_deleted_versions(self):
|
|
|
|
|
with reversion.create_revision():
|
|
|
|
|
org = Organization.objects.create(name="Test Org", status="ok")
|
|
|
|
|
with reversion.create_revision():
|
|
|
|
|
org.delete()
|
|
|
|
|
with reversion.create_revision():
|
|
|
|
|
org.status = "ok"
|
|
|
|
|
org.save()
|
|
|
|
|
with reversion.create_revision():
|
|
|
|
|
org.delete()
|
|
|
|
|
|
|
|
|
|
url = reverse("autocomplete-admin-deleted-versions")
|
|
|
|
|
|
|
|
|
|
r = self.factory.get("{}?q=org {}".format(url, org.id))
|
|
|
|
|
r.user = self.staff_user
|
|
|
|
|
r = autocomplete_views.DeletedVersionAutocomplete.as_view()(r)
|
|
|
|
|
|
|
|
|
|
content = json.loads(r.content)
|
|
|
|
|
|
|
|
|
|
assert reversion.models.Version.objects.all().count() == 4
|
|
|
|
|
assert len(content.get("results")) == 2
|