Skip to content

Commit 73360eb

Browse files
authored
Ticket: Timeline misses state changes 'archived', 'recovered from archive' and 'assigned'
TYPE: Bugfix LINK: ogc-1779
1 parent e0db0be commit 73360eb

File tree

3 files changed

+41
-5
lines changed

3 files changed

+41
-5
lines changed

src/onegov/org/templates/message_ticket.pt

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
<tal:b case="'change-net-amount'" i18n:translate>
3030
Payment amount changed.
3131
</tal:b>
32-
<tal:b case="'archive'" i18n:translate>
32+
<tal:b case="'archived'" i18n:translate>
3333
Ticket archived.
3434
</tal:b>
35-
<tal:b case="'unarchive'" i18n:translate>
35+
<tal:b case="'unarchived'" i18n:translate>
3636
Ticket recovered from archive.
3737
</tal:b>
3838
</tal:b>

src/onegov/town6/templates/message_ticket.pt

+5-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
<tal:b case="'reopened'" i18n:translate>
1818
Ticket reopened.
1919
</tal:b>
20+
<tal:b case="'assigned'" define="old model.meta.get('old_owner')">
21+
<tal:b i18n:translate>Ticket assigned</tal:b> (<tal:b condition="old">${old} → </tal:b>${model.meta.get('new_owner')}).
22+
</tal:b>
2023
<tal:b case="'muted'" i18n:translate>
2124
Ticket e-mails disabled.
2225
</tal:b>
@@ -26,10 +29,10 @@
2629
<tal:b case="'change-net-amount'" i18n:translate>
2730
Payment amount changed.
2831
</tal:b>
29-
<tal:b case="'archive'" i18n:translate>
32+
<tal:b case="'archived'" i18n:translate>
3033
Ticket archived.
3134
</tal:b>
32-
<tal:b case="'unarchive'" i18n:translate>
35+
<tal:b case="'unarchived'" i18n:translate>
3336
Ticket recovered from archive.
3437
</tal:b>
3538
<tal:b case="'uploaded'" i18n:translate>

tests/onegov/org/test_views_ticket.py

+34-1
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,14 @@
1515
from onegov.reservation import ResourceCollection
1616

1717

18+
def get_data_feed_messages(page):
19+
return json.loads(
20+
page.pyquery('div.timeline').attr('data-feed-data'))['messages']
21+
22+
1823
def test_tickets(client):
1924

25+
# feed = ticket_page.pyquery('div.timeline').attr('data-feed-data')
2026
assert client.get(
2127
'/tickets/ALL/open', expect_errors=True).status_code == 403
2228

@@ -85,6 +91,11 @@ def test_tickets(client):
8591
assert '[email protected]' in ticket_page
8692
assert 'In Bearbeitung' in ticket_page
8793
assert 'FRM-' in ticket_page
94+
# ticket timeline
95+
timeline_messages = get_data_feed_messages(ticket_page)
96+
assert len(timeline_messages) == 2
97+
assert 'Ticket eröffnet' in timeline_messages[0]['html']
98+
assert 'Ticket angenommen' in timeline_messages[1]['html']
8899

89100
# default is always enable email notifications
90101
send_msg = ticket_page.request.url + '/message-to-submitter'
@@ -129,6 +140,14 @@ def test_tickets(client):
129140

130141
ticket_page = client.get(ticket_url)
131142
ticket_page = ticket_page.click('Ticket wieder öffnen').follow()
143+
# ticket timeline
144+
timeline_messages = get_data_feed_messages(ticket_page)
145+
assert len(timeline_messages) == 5
146+
assert 'Ticket eröffnet.' in timeline_messages[0]['html']
147+
assert 'Ticket angenommen.' in timeline_messages[1]['html']
148+
assert 'Testmessage' in timeline_messages[2]['html']
149+
assert 'Ticket geschlossen.' in timeline_messages[3]['html']
150+
assert 'Ticket wieder geöffnet.' in timeline_messages[4]['html']
132151

133152
tickets_page = client.get('/tickets/ALL/pending')
134153
assert len(tickets_page.pyquery('tr.ticket')) == 1
@@ -151,8 +170,16 @@ def test_tickets(client):
151170

152171
archived_ticket = client.get(ticket_url)
153172
assert 'Ticket wieder öffnen' not in archived_ticket
173+
# ticket timeline
174+
timeline_messages = get_data_feed_messages(archived_ticket)
175+
assert len(timeline_messages) == 7
176+
assert 'Ticket archiviert.' in timeline_messages[6]['html']
154177
archived_ticket = archived_ticket.click('Aus dem Archiv holen').follow()
155178
assert 'aus dem Archiv geholt' in archived_ticket
179+
# ticket timeline
180+
timeline_messages = get_data_feed_messages(archived_ticket)
181+
assert len(timeline_messages) == 8
182+
assert 'Ticket aus dem Archiv geholt.' in timeline_messages[7]['html']
156183
archived_ticket.click('Ticket archivieren').follow()
157184

158185
# test security
@@ -696,7 +723,13 @@ def test_assign_tickets(client):
696723
manage = manage.click('E-Mails deaktivieren').follow()
697724
manage = manage.click('Ticket zuweisen')
698725
manage.form['user'].select(text='[email protected]')
699-
manage.form.submit()
726+
page = manage.form.submit().follow()
727+
# test timeline
728+
timeline_messages = get_data_feed_messages(page)
729+
assert len(timeline_messages) == 3
730+
assert 'Ticket eröffnet.' in timeline_messages[0]['html']
731+
assert 'Ticket E-Mails deaktiviert.' in timeline_messages[1]['html']
732+
assert 'Ticket zugewiesen' in timeline_messages[2]['html']
700733

701734
client.logout()
702735

0 commit comments

Comments
 (0)