Require invited login and private downloads for the company pilot
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
parent
56bf193193
commit
b7d7828f30
27 changed files with 584 additions and 111 deletions
|
|
@ -33,40 +33,40 @@ class BieterfragenFactory(factory.django.DjangoModelFactory):
|
|||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_aufgaben_liste_get(client):
|
||||
def test_aufgaben_liste_get(admitted_client):
|
||||
a = AusschreibungFactory()
|
||||
url = reverse('ausschreibungen:aufgaben:liste', kwargs={'ausschreibung_id': a.pk})
|
||||
response = client.get(url)
|
||||
response = admitted_client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_aufgabe_neu_post(client):
|
||||
def test_aufgabe_neu_post(admitted_client):
|
||||
a = AusschreibungFactory()
|
||||
url = reverse('ausschreibungen:aufgaben:neu', kwargs={'ausschreibung_id': a.pk})
|
||||
response = client.post(url, {'titel': 'Neue Aufgabe', 'typ': 'fachlich', 'prioritaet': 2})
|
||||
response = admitted_client.post(url, {'titel': 'Neue Aufgabe', 'typ': 'fachlich', 'prioritaet': 2})
|
||||
assert response.status_code == 302
|
||||
assert Aufgabe.objects.filter(ausschreibung=a, titel='Neue Aufgabe').exists()
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_aufgabe_status_htmx(client):
|
||||
def test_aufgabe_status_htmx(admitted_client):
|
||||
aufgabe = AufgabeFactory()
|
||||
url = reverse('ausschreibungen:aufgaben:status',
|
||||
kwargs={'ausschreibung_id': aufgabe.ausschreibung_id, 'pk': aufgabe.pk})
|
||||
response = client.post(url, {'status': 'erledigt'}, HTTP_HX_REQUEST='true')
|
||||
response = admitted_client.post(url, {'status': 'erledigt'}, HTTP_HX_REQUEST='true')
|
||||
assert response.status_code == 200
|
||||
aufgabe.refresh_from_db()
|
||||
assert aufgabe.status == 'erledigt'
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_ueberfaellige_aufgabe_auto_update(client):
|
||||
def test_ueberfaellige_aufgabe_auto_update(admitted_client):
|
||||
from datetime import date, timedelta
|
||||
a = AusschreibungFactory()
|
||||
aufgabe = AufgabeFactory(ausschreibung=a, frist=date.today() - timedelta(days=1), status='offen')
|
||||
url = reverse('ausschreibungen:aufgaben:liste', kwargs={'ausschreibung_id': a.pk})
|
||||
client.get(url)
|
||||
admitted_client.get(url)
|
||||
aufgabe.refresh_from_db()
|
||||
assert aufgabe.status == 'ueberfaellig'
|
||||
|
||||
|
|
@ -75,21 +75,21 @@ def test_ueberfaellige_aufgabe_auto_update(client):
|
|||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_bieterfrage_neu_prefill_anforderung(client):
|
||||
def test_bieterfrage_neu_prefill_anforderung(admitted_client):
|
||||
a = AusschreibungFactory()
|
||||
anf = AnforderungFactory(ausschreibung=a)
|
||||
url = reverse('ausschreibungen:bieterfragen:neu', kwargs={'ausschreibung_id': a.pk})
|
||||
response = client.get(url, {'anforderung_id': anf.pk})
|
||||
response = admitted_client.get(url, {'anforderung_id': anf.pk})
|
||||
assert response.status_code == 200
|
||||
assert str(anf.pk).encode() in response.content
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_bieterfrage_antwort_speichern(client):
|
||||
def test_bieterfrage_antwort_speichern(admitted_client):
|
||||
bf = BieterfragenFactory(status='eingereicht')
|
||||
url = reverse('ausschreibungen:bieterfragen:antwort',
|
||||
kwargs={'ausschreibung_id': bf.ausschreibung_id, 'pk': bf.pk})
|
||||
response = client.post(url, {'antwort': 'Die Antwort lautet 42.', 'auswirkung_angebot': ''})
|
||||
response = admitted_client.post(url, {'antwort': 'Die Antwort lautet 42.', 'auswirkung_angebot': ''})
|
||||
assert response.status_code == 302
|
||||
bf.refresh_from_db()
|
||||
assert bf.antwort == 'Die Antwort lautet 42.'
|
||||
|
|
@ -116,7 +116,7 @@ def test_frist_effektiv_ohne_frist():
|
|||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_ueberfaellig_ohne_frist_nach_7_tagen(client):
|
||||
def test_ueberfaellig_ohne_frist_nach_7_tagen(admitted_client):
|
||||
from datetime import timedelta
|
||||
from django.utils import timezone
|
||||
a = AusschreibungFactory()
|
||||
|
|
@ -124,7 +124,7 @@ def test_ueberfaellig_ohne_frist_nach_7_tagen(client):
|
|||
aufgabe = AufgabeFactory(ausschreibung=a, frist=None, status='offen')
|
||||
Aufgabe.objects.filter(pk=aufgabe.pk).update(erstellt_am=alte_erstellung)
|
||||
url = reverse('ausschreibungen:aufgaben:liste', kwargs={'ausschreibung_id': a.pk})
|
||||
client.get(url)
|
||||
admitted_client.get(url)
|
||||
aufgabe.refresh_from_db()
|
||||
assert aufgabe.status == 'ueberfaellig'
|
||||
|
||||
|
|
@ -133,14 +133,14 @@ def test_ueberfaellig_ohne_frist_nach_7_tagen(client):
|
|||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_aufgaben_verknuepfung_erstellen(client):
|
||||
def test_aufgaben_verknuepfung_erstellen(admitted_client):
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
aufgabe = AufgabeFactory()
|
||||
anf = AnforderungFactory(ausschreibung=aufgabe.ausschreibung)
|
||||
ct = ContentType.objects.get_for_model(anf)
|
||||
url = reverse('ausschreibungen:aufgaben:verknuepfung_neu',
|
||||
kwargs={'ausschreibung_id': aufgabe.ausschreibung_id, 'pk': aufgabe.pk})
|
||||
response = client.post(url, {
|
||||
response = admitted_client.post(url, {
|
||||
'ziel_typ': ct.pk,
|
||||
'ziel_id': anf.pk,
|
||||
'kommentar': 'Testverknüpfung',
|
||||
|
|
@ -150,7 +150,7 @@ def test_aufgaben_verknuepfung_erstellen(client):
|
|||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_aufgaben_verknuepfung_loeschen(client):
|
||||
def test_aufgaben_verknuepfung_loeschen(admitted_client):
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
aufgabe = AufgabeFactory()
|
||||
anf = AnforderungFactory(ausschreibung=aufgabe.ausschreibung)
|
||||
|
|
@ -160,7 +160,7 @@ def test_aufgaben_verknuepfung_loeschen(client):
|
|||
)
|
||||
url = reverse('ausschreibungen:aufgaben:verknuepfung_loeschen',
|
||||
kwargs={'ausschreibung_id': aufgabe.ausschreibung_id, 'pk': aufgabe.pk, 'vk_pk': vk.pk})
|
||||
response = client.post(url, {}, HTTP_HX_REQUEST='true')
|
||||
response = admitted_client.post(url, {}, HTTP_HX_REQUEST='true')
|
||||
assert response.status_code == 200
|
||||
assert not AufgabenVerknuepfung.objects.filter(pk=vk.pk).exists()
|
||||
|
||||
|
|
@ -176,24 +176,24 @@ def tmp_issue_db(tmp_path, settings):
|
|||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_external_issue_erstellen(client, tmp_issue_db):
|
||||
def test_external_issue_erstellen(admitted_client, tmp_issue_db):
|
||||
aufgabe = AufgabeFactory()
|
||||
url = reverse('ausschreibungen:aufgaben:external_issue',
|
||||
kwargs={'ausschreibung_id': aufgabe.ausschreibung_id, 'pk': aufgabe.pk})
|
||||
response = client.post(url, {'notizen': ''}, HTTP_HX_REQUEST='true')
|
||||
response = admitted_client.post(url, {'notizen': ''}, HTTP_HX_REQUEST='true')
|
||||
assert response.status_code == 200
|
||||
assert ExternalIssue.objects.filter(aufgabe=aufgabe, issue_facade_backend='local').exists()
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_external_issue_loeschen(client):
|
||||
def test_external_issue_loeschen(admitted_client):
|
||||
aufgabe = AufgabeFactory()
|
||||
ei = ExternalIssue.objects.create(
|
||||
aufgabe=aufgabe, issue_facade_backend='local', issue_key='#1'
|
||||
)
|
||||
url = reverse('ausschreibungen:aufgaben:external_issue_loeschen',
|
||||
kwargs={'ausschreibung_id': aufgabe.ausschreibung_id, 'pk': aufgabe.pk})
|
||||
response = client.post(url, {}, HTTP_HX_REQUEST='true')
|
||||
response = admitted_client.post(url, {}, HTTP_HX_REQUEST='true')
|
||||
assert response.status_code == 200
|
||||
assert not ExternalIssue.objects.filter(pk=ei.pk).exists()
|
||||
|
||||
|
|
@ -250,11 +250,11 @@ def test_status_synchronisieren(tmp_issue_db):
|
|||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_external_issue_bearbeiten_view_erstellt_issue(client, tmp_issue_db):
|
||||
def test_external_issue_bearbeiten_view_erstellt_issue(admitted_client, tmp_issue_db):
|
||||
aufgabe = AufgabeFactory()
|
||||
url = reverse('ausschreibungen:aufgaben:external_issue',
|
||||
kwargs={'ausschreibung_id': aufgabe.ausschreibung_id, 'pk': aufgabe.pk})
|
||||
response = client.post(url, {'notizen': 'Test-Notiz'}, HTTP_HX_REQUEST='true')
|
||||
response = admitted_client.post(url, {'notizen': 'Test-Notiz'}, HTTP_HX_REQUEST='true')
|
||||
assert response.status_code == 200
|
||||
ei = ExternalIssue.objects.get(aufgabe=aufgabe)
|
||||
assert ei.issue_facade_backend == 'local'
|
||||
|
|
@ -263,7 +263,7 @@ def test_external_issue_bearbeiten_view_erstellt_issue(client, tmp_issue_db):
|
|||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_external_issue_sync_view(client, tmp_issue_db):
|
||||
def test_external_issue_sync_view(admitted_client, tmp_issue_db):
|
||||
from .issue_facade import lokales_issue_erstellen
|
||||
aufgabe = AufgabeFactory()
|
||||
daten = lokales_issue_erstellen(aufgabe)
|
||||
|
|
@ -276,7 +276,7 @@ def test_external_issue_sync_view(client, tmp_issue_db):
|
|||
)
|
||||
url = reverse('ausschreibungen:aufgaben:external_issue_sync',
|
||||
kwargs={'ausschreibung_id': aufgabe.ausschreibung_id, 'pk': aufgabe.pk})
|
||||
response = client.post(url, {}, HTTP_HX_REQUEST='true')
|
||||
response = admitted_client.post(url, {}, HTTP_HX_REQUEST='true')
|
||||
assert response.status_code == 200
|
||||
ei.refresh_from_db()
|
||||
assert ei.sync_status == 'open'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue