Fix report naming
Fixes report naming, adding time to report name. Adds created_at column
for reports, so that reports can be sorted correctly.
Related-PROD: PRODX-6216
Change-Id: If45729ac9378c72d112cc4d02502cd001bbf4d81
diff --git a/testrail_bot/control/migrations/0011_report_created_at.py b/testrail_bot/control/migrations/0011_report_created_at.py
new file mode 100644
index 0000000..b6eba47
--- /dev/null
+++ b/testrail_bot/control/migrations/0011_report_created_at.py
@@ -0,0 +1,19 @@
+# Generated by Django 3.0.7 on 2020-07-17 09:35
+
+import datetime
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('control', '0010_auto_20200709_0831'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='report',
+ name='created_at',
+ field=models.DateTimeField(default=datetime.datetime.now),
+ ),
+ ]
diff --git a/testrail_bot/control/migrations/0012_auto_20200717_0936.py b/testrail_bot/control/migrations/0012_auto_20200717_0936.py
new file mode 100644
index 0000000..4241998
--- /dev/null
+++ b/testrail_bot/control/migrations/0012_auto_20200717_0936.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.0.7 on 2020-07-17 09:36
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('control', '0011_report_created_at'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='report',
+ name='created_at',
+ field=models.DateTimeField(auto_now_add=True),
+ ),
+ ]
diff --git a/testrail_bot/control/models.py b/testrail_bot/control/models.py
index 6a13c8e..fc4af58 100644
--- a/testrail_bot/control/models.py
+++ b/testrail_bot/control/models.py
@@ -21,3 +21,4 @@
test_run = models.ForeignKey(TestRun, on_delete=models.CASCADE)
report_name = models.CharField(max_length=300)
finished = models.BooleanField(default=False)
+ created_at = models.DateTimeField(auto_now_add=True)
diff --git a/testrail_bot/control/templates/control/index.html b/testrail_bot/control/templates/control/index.html
index 4722575..f4d8e50 100644
--- a/testrail_bot/control/templates/control/index.html
+++ b/testrail_bot/control/templates/control/index.html
@@ -4,7 +4,7 @@
<div class="list-group">
{% for run in runs %}
<a href="{% url 'single_run' run.id %}" class="list-group-item list-group-item-success">
- Run {{run.run_name}}
+ Run <b>{{run.run_name}}</b> from <b>{{run.plan_name}}</b> plan in <b>{{run.project_name}}</b> project
</a>
{% endfor %}
</div>
diff --git a/testrail_bot/control/views.py b/testrail_bot/control/views.py
index 68738c5..1e8eaa3 100644
--- a/testrail_bot/control/views.py
+++ b/testrail_bot/control/views.py
@@ -1,4 +1,4 @@
-from datetime import date
+from datetime import datetime
import json
import os
@@ -45,7 +45,7 @@
def list_reports(request):
- reports = models.Report.objects.all()
+ reports = models.Report.objects.order_by("-created_at").all()
return render(request, "control/reports.html", {"reports": reports})
@@ -62,7 +62,8 @@
def submit_run(request, run_id):
run = models.TestRun.objects.get(pk=run_id)
- report_name = "{}-{}".format(run.run_name, date.isoformat(date.today()))
+ report_name = "{}-{}".format(
+ run.run_name, datetime.isoformat(datetime.now()))
path = os.path.join(models.fs.location, report_name)
with open(path, "w"):
pass