Exemple #1
0
 def test_getitem_id_from_other_risk(self):
     from euphorie.client.model import ActionPlan
     risk1 = self._make_risk('jane')
     risk1.action_plans.append(ActionPlan(action_plan=u'This is the plan'))
     risk2 = self._make_risk('cindy')
     plans = self.RiskActionPlans('actionplans', None, risk2)
     self.assertRaises(KeyError, plans.__getitem__, '1')
Exemple #2
0
 def test_do_PUT_bad_data(self):
     from euphorie.client.model import ActionPlan
     context = ActionPlan()
     view = self.View(context, None)
     view.input = {'budget': 'unlimited'}
     response = view.do_PUT()
     self.assertEqual(response['type'], 'error')
Exemple #3
0
 def test_do_PUT_returns_info(self):
     import mock
     from euphorie.client.model import ActionPlan
     view = self.View(ActionPlan(), None)
     view.input = {}
     view.do_GET = mock.Mock(return_value='info')
     self.assertEqual(view.do_PUT(), 'info')
Exemple #4
0
 def test_with_dates(self):
     import datetime
     from euphorie.client.model import ActionPlan
     plan = ActionPlan(planning_start=datetime.date(2012, 6, 3),
                       planning_end=datetime.date(2012, 6, 4))
     info = self.plan_info(plan)
     self.assertEqual(info['planning-start'], '2012-06-03')
     self.assertEqual(info['planning-end'], '2012-06-04')
Exemple #5
0
 def test_getitem_id_from_other_risk(self):
     from Acquisition import aq_base
     from Acquisition import aq_parent
     from euphorie.client.model import ActionPlan
     risk = self._make_risk('jane')
     plan = ActionPlan(action_plan=u'This is the plan')
     risk.action_plans.append(plan)
     plans = self.RiskActionPlans('actionplans', None, risk)
     wrapped_plan = plans['1']
     self.assertTrue(aq_base(wrapped_plan) is plan)
     self.assertTrue(aq_base(aq_parent(wrapped_plan)) is plans)
     self.assertRaises(KeyError, plans.__getitem__, '1')
Exemple #6
0
 def test_with_plan(self):
     import mock
     from euphorie.client.model import ActionPlan
     context = self._build_context()
     plan = ActionPlan(action_plan=u'This is the plan')
     context.risk.action_plans.append(plan)
     with mock.patch('euphorie.client.api.actionplans.plan_info') \
             as mock_plan_info:
         mock_plan_info.return_value = 'plan-info'
         view = self.View(context, None)
         plans = view.plans()
         self.assertEqual(plans, ['plan-info'])
         mock_plan_info.assert_called_once_with(plan)
Exemple #7
0
 def test_do_PUT_update_data(self):
     import datetime
     from euphorie.client.model import ActionPlan
     context = ActionPlan()
     view = self.View(context, None)
     view.input = {
         'plan': 'Collect underpants',
         'budget': 15,
         'planning-start': '2012-06-04'
     }
     view.do_PUT()
     self.assertEqual(context.action_plan, u'Collect underpants')
     self.assertEqual(context.budget, 15)
     self.assertEqual(context.planning_start, datetime.date(2012, 6, 4))
Exemple #8
0
 def test_minimal(self):
     from euphorie.client.model import ActionPlan
     plan = ActionPlan(id=15, action_plan=u'This is the plan')
     info = self.plan_info(plan)
     self.assertEqual(
         set(info),
         set([
             'id', 'plan', 'prevention', 'requirements', 'responsible',
             'budget', 'planning-start', 'planning-end', 'reference'
         ]))
     self.assertEqual(info['plan'], u'This is the plan')
     self.assertEqual(info['prevention'], None)
     self.assertEqual(info['requirements'], None)
     self.assertEqual(info['responsible'], None)
     self.assertEqual(info['budget'], None)
     self.assertEqual(info['planning-start'], None)
     self.assertEqual(info['planning-end'], None)
Exemple #9
0
 def test_get(self):
     import datetime
     import json
     from sqlalchemy.orm import object_session
     from euphorie.client.model import Risk
     from euphorie.client.model import ActionPlan
     from euphorie.client.api.authentication import generate_token
     from euphorie.client.api.tests.test_risk import _setup_session
     self.loginAsPortalOwner()
     (account, survey, survey_session) = _setup_session(self.portal)
     risk = object_session(survey_session).query(Risk).one()
     risk.action_plans.append(
         ActionPlan(action_plan=u'This is the plan',
                    planning_start=datetime.date(2012, 6, 3)))
     browser = Browser()
     browser.addHeader('X-Euphorie-Token', generate_token(account))
     browser.open('http://nohost/plone/client/api/users/1/'
                  'sessions/1/1/1/actionplans')
     self.assertEqual(browser.headers['Content-Type'], 'application/json')
     response = json.loads(browser.contents)
     self.assertTrue('action-plans' in response)