Beispiel #1
0
    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)
Beispiel #2
0
    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')
Beispiel #3
0
 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, {})
Beispiel #4
0
    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],
        })
Beispiel #5
0
    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')
Beispiel #6
0
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,
            ))
Beispiel #7
0
    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)
Beispiel #8
0
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,
        ))
Beispiel #9
0
    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],
        })
Beispiel #10
0
 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, {})