1a8900c9f4
so far "delete results" (for Raw Settings) is the only use case. user cancel is not yet supported
63 lines
2.1 KiB
Python
63 lines
2.1 KiB
Python
# -*- coding: utf-8; -*-
|
|
|
|
from pyramid import testing
|
|
|
|
from wuttaweb.views import progress as mod
|
|
from wuttaweb.progress import get_progress_session
|
|
from tests.util import WebTestCase
|
|
|
|
|
|
class TestProgressView(WebTestCase):
|
|
|
|
def test_includeme(self):
|
|
self.pyramid_config.include('wuttaweb.views.progress')
|
|
|
|
def test_basic(self):
|
|
self.request.session.id = 'mockid'
|
|
self.request.matchdict = {'key': 'foo'}
|
|
|
|
# first call with no setup, will create the progress session
|
|
# but it should be "empty" - except not really since beaker
|
|
# adds some keys by default
|
|
context = mod.progress(self.request)
|
|
self.assertIsInstance(context, dict)
|
|
|
|
# now let's establish a progress session of our own
|
|
progsess = get_progress_session(self.request, 'bar')
|
|
progsess['maximum'] = 2
|
|
progsess['value'] = 1
|
|
progsess.save()
|
|
|
|
# then call view, check results
|
|
self.request.matchdict = {'key': 'bar'}
|
|
context = mod.progress(self.request)
|
|
self.assertEqual(context['maximum'], 2)
|
|
self.assertEqual(context['value'], 1)
|
|
self.assertNotIn('complete', context)
|
|
|
|
# now mark it as complete, check results
|
|
progsess['complete'] = True
|
|
progsess['success_msg'] = "yay!"
|
|
progsess.save()
|
|
context = mod.progress(self.request)
|
|
self.assertTrue(context['complete'])
|
|
self.assertEqual(context['success_msg'], "yay!")
|
|
|
|
# now do that all again, with error
|
|
progsess = get_progress_session(self.request, 'baz')
|
|
progsess['maximum'] = 2
|
|
progsess['value'] = 1
|
|
progsess.save()
|
|
self.request.matchdict = {'key': 'baz'}
|
|
context = mod.progress(self.request)
|
|
self.assertEqual(context['maximum'], 2)
|
|
self.assertEqual(context['value'], 1)
|
|
self.assertNotIn('complete', context)
|
|
self.assertNotIn('error', context)
|
|
progsess['error'] = True
|
|
progsess['error_msg'] = "omg!"
|
|
progsess.save()
|
|
context = mod.progress(self.request)
|
|
self.assertTrue(context['error'])
|
|
self.assertEqual(context['error_msg'], "omg!")
|