comparison test/test_actions.py @ 6301:45ba6b71f1cf

actions.py translation. Using mapping rather than tuple for args. Format an error message in handleCollision using named tokens '%(props)s' rather than printf positional format specifier %s. Regenerate roundup.pot and update all .po files to use named tokens in their trnslations. Test handleCollision as well.
author John Rouillard <rouilj@ieee.org>
date Sun, 20 Dec 2020 23:17:17 -0500
parents 56854f96d805
children 2ded9a8be017
comparison
equal deleted inserted replaced
6300:778a9f455067 6301:45ba6b71f1cf
27 self.client.db.Otk.getall = self.data_get 27 self.client.db.Otk.getall = self.data_get
28 self.client.db.Otk.set = self.data_set 28 self.client.db.Otk.set = self.data_set
29 self.client.db.config.WEB_LOGIN_ATTEMPTS_MIN = 20 29 self.client.db.config.WEB_LOGIN_ATTEMPTS_MIN = 20
30 self.client._ok_message = [] 30 self.client._ok_message = []
31 self.client._error_message = [] 31 self.client._error_message = []
32 self.client.add_error_message = lambda x : add_message( 32 self.client.add_error_message = lambda x, escape=True: add_message(
33 self.client._error_message, x) 33 self.client._error_message, x, escape=escape)
34 self.client.add_ok_message = lambda x : add_message( 34 self.client.add_ok_message = lambda x : add_message(
35 self.client._ok_message, x) 35 self.client._ok_message, x)
36 self.client.form = self.form 36 self.client.form = self.form
37 self.client.base = "http://whoami.com/path/" 37 self.client.base = "http://whoami.com/path/"
38 class TemplatingUtils: 38 class TemplatingUtils:
260 260
261 def testCollision(self): 261 def testCollision(self):
262 # fake up an actual change 262 # fake up an actual change
263 self.action.classname = 'test' 263 self.action.classname = 'test'
264 self.action.nodeid = '1' 264 self.action.nodeid = '1'
265 self.client.parsePropsFromForm = lambda: ({('test','1'):{1:1}}, []) 265 self.client.parsePropsFromForm = lambda: (
266 self.assertTrue(self.action.detectCollision(self.now, 266 {('test','1'):{"prop1":"1"}}, [])
267 self.now + Interval("1d"))) 267 props = self.action.detectCollision(self.now,
268 self.now + Interval("1d"))
269 self.assertTrue(props)
270 self.action.handleCollision(props)
271 self.assertEqual(self.client._error_message[0],
272 'Edit Error: someone else has edited this test '
273 '(prop1). View <a target="_blank" href="test1">their '
274 'changes</a> in a new window.')
268 self.assertFalse(self.action.detectCollision(self.now, 275 self.assertFalse(self.action.detectCollision(self.now,
269 self.now - Interval("1d"))) 276 self.now - Interval("1d")))
270 self.assertFalse(self.action.detectCollision(None, self.now)) 277 self.assertFalse(self.action.detectCollision(None, self.now))
271 278
272 class LoginTestCase(ActionTestCase): 279 class LoginTestCase(ActionTestCase):

Roundup Issue Tracker: http://roundup-tracker.org/