feat: add ticket comments attachments and export
This commit is contained in:
49
backend/apps/tickets/tests/test_ticket_export.py
Normal file
49
backend/apps/tickets/tests/test_ticket_export.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from apps.audit.models import OperationAuditLog
|
||||
from apps.tickets.models import Ticket
|
||||
|
||||
|
||||
def test_add_comment_to_ticket(client, db):
|
||||
ticket = Ticket.objects.create(ticket_no="TK202606300010", title="A", description="A")
|
||||
|
||||
response = client.post(
|
||||
f"/api/tickets/{ticket.id}/comments",
|
||||
data={
|
||||
"content": "Checked logs",
|
||||
"comment_type": "internal_note",
|
||||
"visibility": "internal",
|
||||
},
|
||||
content_type="application/json",
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.json()["content"] == "Checked logs"
|
||||
assert ticket.comments.count() == 1
|
||||
|
||||
|
||||
def test_add_attachment_to_ticket(client, db):
|
||||
ticket = Ticket.objects.create(ticket_no="TK202606300011", title="A", description="A")
|
||||
|
||||
response = client.post(
|
||||
f"/api/tickets/{ticket.id}/attachments",
|
||||
data={
|
||||
"file_name": "error.log",
|
||||
"mime_type": "text/plain",
|
||||
"file_size": 123,
|
||||
"storage_path": "tickets/TK202606300011/error.log",
|
||||
},
|
||||
content_type="application/json",
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.json()["file_name"] == "error.log"
|
||||
|
||||
|
||||
def test_export_tickets_returns_csv_and_audit_log(client, db):
|
||||
Ticket.objects.create(ticket_no="TK202606300012", title="Export me", description="A")
|
||||
|
||||
response = client.get("/api/tickets/export")
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response["content-type"].startswith("text/csv")
|
||||
assert "TK202606300012" in response.content.decode()
|
||||
assert OperationAuditLog.objects.filter(module="tickets", action="export").exists()
|
||||
Reference in New Issue
Block a user