def test_edition_redirect(self): """ Tests that a document edition is redirected to the item or the list. """ doc = DocumentFactory( category=self.category, document_key='FAC09001-FWF-000-HSE-REP-0004', metadata={ 'title': u'HAZOP related 1', }, revision={ 'status': 'STD', } ) c = self.client r = c.post(doc.get_edit_url(), { 'document_number': doc.document_key, 'title': u'a new title', 'docclass': 1, 'created_on': '2015-10-10', 'received_date': '2015-10-10', 'save-view': 'View', }, follow=True) self.assertEqual( r.redirect_chain, [('http://testserver{url}'.format( url=doc.get_absolute_url(), ), 302)] ) r = c.post(doc.get_edit_url(), { 'document_number': doc.document_key, 'title': u'a new new title', 'docclass': 1, 'created_on': '2015-10-10', 'received_date': '2015-10-10', }, follow=True) self.assertEqual( r.redirect_chain, [('http://testserver{url}'.format( url=self.category.get_absolute_url(), ), 302)] ) # Check that update was logged in audit trail activity = Activity.objects.latest('created_on') self.assertEqual(activity.verb, Activity.VERB_EDITED) self.assertEqual(activity.target.title, u'a new new title') self.assertEqual(activity.actor, self.user)
def test_edition_updates_document_key(self): doc = DocumentFactory( category=self.category, document_key='FAC09001-FWF-000-HSE-REP-0004', metadata={ 'title': 'HAZOP related 1', }, revision={ 'status': 'STD', } ) c = self.client c.post(doc.get_edit_url(), { 'document_number': 'New Document Number', 'title': 'a new title', 'docclass': 1, 'created_on': '2015-10-10', 'received_date': '2015-10-10', 'save-view': 'View', }, follow=True) doc.refresh_from_db() self.assertEqual(doc.document_number, 'New Document Number') self.assertEqual(doc.document_key, 'NEW-DOCUMENT-NUMBER') metadata = doc.get_metadata() self.assertEqual(metadata.document_number, 'New Document Number') self.assertEqual(metadata.document_key, 'NEW-DOCUMENT-NUMBER')
def test_edition_success(self): """ Tests that a document can be created with required fields. """ original_number_of_document = Document.objects.all().count() doc = DocumentFactory( category=self.category, document_key='FAC09001-FWF-000-HSE-REP-0004', metadata={ 'title': 'HAZOP related 1', }, revision={ 'status': 'STD', } ) c = self.client r = c.post(doc.get_edit_url(), { 'document_number': doc.document_key, 'title': 'a new title', }) if r.status_code == 302: self.assertEqual( original_number_of_document + 1, Document.objects.all().count() ) else: # Debug purpose self.assertEqual(r.context['form'].errors, {})
def test_edition_errors(self): """ Tests that a document can't be edited without required fields. """ required_error = 'This field is required.' doc = DocumentFactory( category=self.category, document_key='FAC09001-FWF-000-HSE-REP-0004', metadata={ 'title': 'HAZOP related 1', }, revision={ 'status': 'STD', } ) c = self.client edit_url = doc.get_edit_url() r = c.get(edit_url) self.assertEqual(r.status_code, 200) r = c.post(edit_url, {'document_number': doc.document_key}) self.assertEqual(r.status_code, 200) self.assertEqual(r.context['form'].errors, { 'title': [required_error], })
def test_edition_updates_document_key(self): doc = DocumentFactory(category=self.category, document_key='FAC09001-FWF-000-HSE-REP-0004', metadata={ 'title': u'HAZOP related 1', }, revision={ 'status': 'STD', }) c = self.client c.post(doc.get_edit_url(), { 'document_number': 'New Document Number', 'title': u'a new title', 'docclass': 1, 'created_on': '2015-10-10', 'received_date': '2015-10-10', 'save-view': 'View', }, follow=True) doc.refresh_from_db() self.assertEqual(doc.document_number, 'New Document Number') self.assertEqual(doc.document_key, 'NEW-DOCUMENT-NUMBER') metadata = doc.get_metadata() self.assertEqual(metadata.document_number, 'New Document Number') self.assertEqual(metadata.document_key, 'NEW-DOCUMENT-NUMBER')
class DistributionListWidgetTests(CasperTestCase): def setUp(self): Model = ContentType.objects.get_for_model(ContractorDeliverable) self.category = CategoryFactory( category_template__metadata_model=Model) self.user = UserFactory(email='*****@*****.**', password='******', is_superuser=True, category=self.category) self.client.login(email=self.user.email, password='******') self.doc = DocumentFactory( category=self.category, metadata_factory_class=ContractorDeliverableFactory, revision_factory_class=ContractorDeliverableRevisionFactory, ) url = self.doc.get_edit_url() self.url = '%s%s' % (self.live_server_url, url) self.test_file = os.path.join(os.path.dirname(__file__), 'casper_tests', 'tests.js') def test_select_distribution_list(self): dl = DistributionListFactory( categories=[self.category], name='Team Cassoulet', ) DistributionListFactory(categories=[self.category], name='Team Oui Oui et ses potes') self.assertTrue( self.casper( self.test_file, url=self.url, leader_id=dl.leader_id, approver_id=dl.approver_id, ))
def test_edition_redirect(self): """ Tests that a document edition is redirected to the item or the list. """ doc = DocumentFactory(category=self.category, document_key='FAC09001-FWF-000-HSE-REP-0004', metadata={ 'title': u'HAZOP related 1', }, revision={ 'status': 'STD', }) c = self.client r = c.post(doc.get_edit_url(), { 'document_number': doc.document_key, 'title': u'a new title', 'docclass': 1, 'created_on': '2015-10-10', 'received_date': '2015-10-10', 'save-view': 'View', }, follow=True) self.assertEqual(r.redirect_chain, [('http://testserver{url}'.format( url=doc.get_absolute_url(), ), 302)]) r = c.post(doc.get_edit_url(), { 'document_number': doc.document_key, 'title': u'a new new title', 'docclass': 1, 'created_on': '2015-10-10', 'received_date': '2015-10-10', }, follow=True) self.assertEqual(r.redirect_chain, [('http://testserver{url}'.format( url=self.category.get_absolute_url(), ), 302)]) # Check that update was logged in audit trail activity = Activity.objects.latest('created_on') self.assertEqual(activity.verb, Activity.VERB_EDITED) self.assertEqual(activity.target.title, u'a new new title') self.assertEqual(activity.actor, self.user)
class DistributionListWidgetTests(CasperTestCase): def setUp(self): Model = ContentType.objects.get_for_model(ContractorDeliverable) self.category = CategoryFactory( category_template__metadata_model=Model) self.user = UserFactory( email='*****@*****.**', password='******', is_superuser=True, category=self.category) self.client.login(email=self.user.email, password='******') self.doc = DocumentFactory( category=self.category, metadata_factory_class=ContractorDeliverableFactory, revision_factory_class=ContractorDeliverableRevisionFactory, ) url = self.doc.get_edit_url() self.url = '%s%s' % (self.live_server_url, url) self.test_file = os.path.join( os.path.dirname(__file__), 'casper_tests', 'tests.js' ) def test_select_distribution_list(self): dl = DistributionListFactory( categories=[self.category], name='Team Cassoulet', ) DistributionListFactory( categories=[self.category], name='Team Oui Oui et ses potes') self.assertTrue(self.casper( self.test_file, url=self.url, leader_id=dl.leader_id, approver_id=dl.approver_id, ))
def test_edition_errors(self): """ Tests that a document can't be edited without required fields. """ required_error = u'This field is required.' doc = DocumentFactory(category=self.category, document_key='FAC09001-FWF-000-HSE-REP-0004', metadata={ 'title': u'HAZOP related 1', }, revision={ 'status': 'STD', }) c = self.client edit_url = doc.get_edit_url() r = c.get(edit_url) self.assertEqual(r.status_code, 200) r = c.post(edit_url, {'document_number': doc.document_key}) self.assertEqual(r.status_code, 200) self.assertEqual(r.context['form'].errors, { 'title': [required_error], })
def test_edition_success(self): """ Tests that a document can be created with required fields. """ original_number_of_document = Document.objects.all().count() doc = DocumentFactory(category=self.category, document_key='FAC09001-FWF-000-HSE-REP-0004', metadata={ 'title': u'HAZOP related 1', }, revision={ 'status': 'STD', }) c = self.client r = c.post(doc.get_edit_url(), { 'document_number': doc.document_key, 'title': u'a new title', }) if r.status_code == 302: self.assertEqual(original_number_of_document + 1, Document.objects.all().count()) else: # Debug purpose self.assertEqual(r.context['form'].errors, {})