stash
This commit is contained in:
parent
999dc95b0b
commit
76dd805262
8 changed files with 72 additions and 28 deletions
|
@ -8,8 +8,8 @@ class IssueSerializer(serializers.ModelSerializer):
|
|||
|
||||
class Meta:
|
||||
model = IssueThread
|
||||
fields = ('id', 'timeline')
|
||||
read_only_fields = ('id', 'timeline')
|
||||
fields = ('id', 'timeline', 'name', 'state', 'assigned_to', 'last_activity')
|
||||
read_only_fields = ('id', 'timeline', 'last_activity')
|
||||
|
||||
@staticmethod
|
||||
def get_timeline(obj):
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 4.2.7 on 2023-12-06 03:34
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('tickets', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='comment',
|
||||
name='issue_thread',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='tickets.issuethread'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='statechange',
|
||||
name='issue_thread',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state_changes', to='tickets.issuethread'),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,45 @@
|
|||
# Generated by Django 4.2.7 on 2023-12-06 03:53
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('tickets', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='issuethread',
|
||||
name='assigned_to',
|
||||
field=models.CharField(max_length=255, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='issuethread',
|
||||
name='last_activity',
|
||||
field=models.DateTimeField(auto_now=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='issuethread',
|
||||
name='name',
|
||||
field=models.CharField(default='unnamed issue', max_length=255),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='issuethread',
|
||||
name='state',
|
||||
field=models.CharField(default='new', max_length=255),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='comment',
|
||||
name='issue_thread',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='tickets.issuethread'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='statechange',
|
||||
name='issue_thread',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state_changes', to='tickets.issuethread'),
|
||||
),
|
||||
]
|
|
@ -6,6 +6,10 @@ from inventory.models import Event
|
|||
|
||||
class IssueThread(SoftDeleteModel):
|
||||
id = models.AutoField(primary_key=True)
|
||||
name = models.CharField(max_length=255)
|
||||
state = models.CharField(max_length=255, default='new')
|
||||
assigned_to = models.CharField(max_length=255, null=True)
|
||||
last_activity = models.DateTimeField(auto_now=True)
|
||||
|
||||
|
||||
class Comment(models.Model):
|
||||
|
|
|
@ -50,6 +50,10 @@ class IssueApiTest(TestCase):
|
|||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(len(response.json()), 1)
|
||||
self.assertEqual(response.json()[0]['id'], issue.id)
|
||||
self.assertEqual(response.json()[0]['name'], issue.name)
|
||||
self.assertEqual(response.json()[0]['state'], issue.state)
|
||||
self.assertEqual(response.json()[0]['assigned_to'], issue.assigned_to)
|
||||
self.assertEqual(response.json()[0]['last_activity'], issue.last_activity.strftime('%Y-%m-%dT%H:%M:%S.%fZ'))
|
||||
self.assertEqual(len(response.json()[0]['timeline']), 4)
|
||||
self.assertEqual(response.json()[0]['timeline'][0]['type'], 'mail')
|
||||
self.assertEqual(response.json()[0]['timeline'][1]['type'], 'state')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue