15
15
from onegov .reservation import ResourceCollection
16
16
17
17
18
+ def get_data_feed_messages (page ):
19
+ return json .loads (
20
+ page .pyquery ('div.timeline' ).attr ('data-feed-data' ))['messages' ]
21
+
22
+
18
23
def test_tickets (client ):
19
24
25
+ # feed = ticket_page.pyquery('div.timeline').attr('data-feed-data')
20
26
assert client .get (
21
27
'/tickets/ALL/open' , expect_errors = True ).status_code == 403
22
28
@@ -85,6 +91,11 @@ def test_tickets(client):
85
91
assert '[email protected] ' in ticket_page
86
92
assert 'In Bearbeitung' in ticket_page
87
93
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' ]
88
99
89
100
# default is always enable email notifications
90
101
send_msg = ticket_page .request .url + '/message-to-submitter'
@@ -129,6 +140,14 @@ def test_tickets(client):
129
140
130
141
ticket_page = client .get (ticket_url )
131
142
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' ]
132
151
133
152
tickets_page = client .get ('/tickets/ALL/pending' )
134
153
assert len (tickets_page .pyquery ('tr.ticket' )) == 1
@@ -151,8 +170,16 @@ def test_tickets(client):
151
170
152
171
archived_ticket = client .get (ticket_url )
153
172
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' ]
154
177
archived_ticket = archived_ticket .click ('Aus dem Archiv holen' ).follow ()
155
178
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' ]
156
183
archived_ticket .click ('Ticket archivieren' ).follow ()
157
184
158
185
# test security
@@ -696,7 +723,13 @@ def test_assign_tickets(client):
696
723
manage = manage .click ('E-Mails deaktivieren' ).follow ()
697
724
manage = manage .click ('Ticket zuweisen' )
698
725
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' ]
700
733
701
734
client .logout ()
702
735
0 commit comments