def test_transmittal_list(self): TransmittalFactory(document__category=self.category) TransmittalFactory(document__category=self.category) TransmittalFactory(document__category=self.category) res = self.client.get(self.url) self.assertNotContains(res, 'There are no transmittals here') self.assertContains(res, 'tr class="document_row"', 3)
def test_successive_transmittals_numbers(self): TransmittalFactory(document_key='FAC10005-CTR-CLT-TRS-00001', status='accepted', sequential_number=1) TransmittalFactory(document_key='FAC10005-CTR-CLT-TRS-00002', status='accepted', sequential_number=2) trs_import = self.prepare_fixtures('wrong_seq_number', 'FAC10005-CTR-CLT-TRS-00004') self.assertTrue( 'wrong_sequential_number' in trs_import.errors['global_errors'])
def test_reject_trs_with_wrong_status(self): trs = TransmittalFactory(status='accepted') with self.assertRaises(RuntimeError): trs.reject() trs = TransmittalFactory(status='refused') with self.assertRaises(RuntimeError): trs.reject()
def test_accept_trs_with_wrong_status(self): trs = TransmittalFactory(status='accepted') with self.assertRaises(RuntimeError): trs.accept() trs = TransmittalFactory(status='processing') with self.assertRaises(RuntimeError): trs.accept() trs = TransmittalFactory(status='rejected') with self.assertRaises(RuntimeError): trs.accept()
def setUp(self): Model = ContentType.objects.get_for_model(ContractorDeliverable) self.category = CategoryFactory( category_template__metadata_model=Model) self.transmittal = TransmittalFactory(document__category=self.category) user = UserFactory(email='*****@*****.**', password='******', is_superuser=True, category=self.category) self.client.login(email=user.email, password='******') self.url = reverse( 'transmittal_diff', args=[self.transmittal.pk, self.transmittal.document_key])
def setUp(self): self.tmpdir = tempfile.mkdtemp(prefix='phasetest_', suffix='_trs') self.incoming = join(self.tmpdir, 'incoming') self.tobechecked = join(self.tmpdir, 'tobechecked') self.accepted = join(self.tmpdir, 'accepted') self.rejected = join(self.tmpdir, 'rejected') os.mkdir(self.accepted) os.mkdir(self.rejected) os.mkdir(self.tobechecked) self.transmittal = TransmittalFactory( document_key='FAC10005-CTR-CLT-TRS-00001', status='tobechecked', tobechecked_dir=self.tobechecked, accepted_dir=self.accepted, rejected_dir=self.rejected, contractor='test') os.mkdir(self.transmittal.full_tobechecked_name)
def test_already_exists(self): TransmittalFactory(document_key='FAC10005-CTR-CLT-TRS-00001', status='tobechecked') trs_import = self.prepare_fixtures('single_correct_trs', 'FAC10005-CTR-CLT-TRS-00001') self.assertTrue('already_exists' in trs_import.errors['global_errors'])
def setUp(self): # Filesystem setup self.tmpdir = tempfile.mkdtemp(prefix='phasetest_', suffix='_trs') self.incoming = join(self.tmpdir, 'incoming') self.tobechecked = join(self.tmpdir, 'tobechecked') self.accepted = join(self.tmpdir, 'accepted') self.rejected = join(self.tmpdir, 'rejected') os.mkdir(self.accepted) os.mkdir(self.rejected) os.mkdir(self.tobechecked) Model = ContentType.objects.get_for_model(ContractorDeliverable) self.category = CategoryFactory(category_template__metadata_model=Model) self.document = DocumentFactory( document_key='FAC10005-CTR-000-EXP-LAY-4891', metadata={ 'title': 'Cause & Effect Chart', 'contract_number': 'FAC10005', 'originator': EntityFactory(), 'unit': '000', 'discipline': 'EXP', 'document_type': 'LAY', 'sequential_number': '4891', }, revision={ 'revision': 1, 'docclass': 1, 'status': 'SPD', }, metadata_factory_class=ContractorDeliverableFactory, revision_factory_class=ContractorDeliverableRevisionFactory, category=self.category) self.metadata = self.document.metadata ContractorDeliverableRevisionFactory( metadata=self.metadata, revision=2, docclass=1, status='SPD') sample_path = b'documents/tests/' native_doc = b'sample_doc_native.docx' pdf_doc = b'sample_doc_pdf.pdf' self.transmittal = TransmittalFactory( document_key='FAC10005-CTR-CLT-TRS-00001', status='tobechecked', tobechecked_dir=self.tobechecked, accepted_dir=self.accepted, rejected_dir=self.rejected, contractor='test') os.mkdir(self.transmittal.full_tobechecked_name) data = { 'transmittal': self.transmittal, 'document': self.document, 'category': self.category, 'title': 'Cause & Effect Chart', 'contract_number': 'FAC10005', 'originator': EntityFactory(trigram='CTR'), 'unit': '000', 'discipline': 'EXP', 'document_type': 'LAY', 'sequential_number': '4891', 'docclass': 1, 'revision': 1, 'status': 'SPD', 'pdf_file': SimpleUploadedFile(pdf_doc, sample_path + pdf_doc), 'created_on': '2015-10-10', } TrsRevisionFactory(**data) data.update({'revision': 2, 'status': 'IFA'}) TrsRevisionFactory(**data) data.update({'revision': 3, 'docclass': 2}) TrsRevisionFactory(**data) data.update({ 'revision': 4, 'status': 'FIN', 'native_file': SimpleUploadedFile(native_doc, sample_path + native_doc), }) TrsRevisionFactory(**data)
class TransmittalModelTests(TestCase): def setUp(self): self.tmpdir = tempfile.mkdtemp(prefix='phasetest_', suffix='_trs') self.incoming = join(self.tmpdir, 'incoming') self.tobechecked = join(self.tmpdir, 'tobechecked') self.accepted = join(self.tmpdir, 'accepted') self.rejected = join(self.tmpdir, 'rejected') os.mkdir(self.accepted) os.mkdir(self.rejected) os.mkdir(self.tobechecked) self.transmittal = TransmittalFactory( document_key='FAC10005-CTR-CLT-TRS-00001', status='tobechecked', tobechecked_dir=self.tobechecked, accepted_dir=self.accepted, rejected_dir=self.rejected, contractor='test') os.mkdir(self.transmittal.full_tobechecked_name) def tearDown(self): if os.path.exists(self.tmpdir): rmtree(self.tmpdir) def test_reject_trs_with_wrong_status(self): trs = TransmittalFactory(status='accepted') with self.assertRaises(RuntimeError): trs.reject() trs = TransmittalFactory(status='refused') with self.assertRaises(RuntimeError): trs.reject() def test_reject_moves_trs_to_rejected_directory(self): self.assertTrue(os.path.exists(self.transmittal.full_tobechecked_name)) self.assertFalse(os.path.exists(self.transmittal.full_rejected_name)) self.transmittal.reject() self.assertFalse(os.path.exists(self.transmittal.full_tobechecked_name)) self.assertTrue(os.path.exists(self.transmittal.full_rejected_name)) def test_reject_with_already_existing_rejected_directory(self): touch(join(self.transmittal.full_tobechecked_name, 'toto.csv')) copytree( self.transmittal.full_tobechecked_name, self.transmittal.full_rejected_name) self.assertTrue(os.path.exists(self.transmittal.full_tobechecked_name)) self.assertTrue(os.path.exists(self.transmittal.full_rejected_name)) self.transmittal.reject() self.assertEqual(self.transmittal.status, 'rejected') self.assertFalse(os.path.exists(self.transmittal.full_tobechecked_name)) self.assertTrue(os.path.exists(self.transmittal.full_rejected_name)) def test_accept_trs_with_wrong_status(self): trs = TransmittalFactory(status='accepted') with self.assertRaises(RuntimeError): trs.accept() trs = TransmittalFactory(status='processing') with self.assertRaises(RuntimeError): trs.accept() trs = TransmittalFactory(status='rejected') with self.assertRaises(RuntimeError): trs.accept() def test_accept(self): self.transmittal.accept() self.assertEqual(self.transmittal.status, 'processing')