Ejemplo n.º 1
0
 def test_create_pcpp(self):
     """Use fake data to generate a new pcpp"""
     account = Account(name='New Project Effort', code='098-765',
                       category=Account.PROJECT)
     row = {
         'PROJ_NO': '098-765', 'LOCATION': 'CHINA',
         'PROJ_NAME1': 'New Project Effort', 'PCV_NAME': 'IN Jones, B.',
         'STATE': 'IN', 'OVERS_PART': '1234.56', 'PROJ_REQ': '3,434',
         'UNIDENT_BAL': '1,111', 'SECTOR': 'IT', 'SUMMARY': 'sum sum sum'}
     issue_cache = Mock()
     issue_cache.find.return_value = Campaign.objects.get(name='Technology')
     sync.create_pcpp(account, row, issue_cache)
     project = Project.objects.get(title='New Project Effort')
     description = json.loads(project.description)
     description = description['data'][0]['data']['text']
     self.assertEqual(project.account.code, '098-765')
     self.assertEqual(project.country.name, 'China')
     self.assertEqual(project.volunteername, 'Jones, B.')
     self.assertEqual(project.volunteerhomestate, 'IN')
     self.assertEqual(project.account.community_contribution, 123456)
     self.assertEqual(project.account.goal, 343400)
     self.assertEqual(project.account.current, (343400 - 111100))
     self.assertEqual(project.overflow.name, 'Information Technology')
     self.assertEqual(project.campaigns.all()[0].name, 'Technology')
     self.assertEqual(description, 'sum sum sum')
     self.assertEqual(project.slug, 'new-project-effort')
     self.assertFalse(project.published)
     project.delete()
     account.delete()
 def test_create_pcpp(self):
     """Use fake data to generate a new pcpp"""
     account = Account(name='New Project Effort', code='098-765',
                       category=Account.PROJECT)
     row = {
         'PROJ_NO': '098-765', 'LOCATION': 'CHINA',
         'PROJ_NAME1': 'New Project Effort', 'PCV_NAME': 'IN Jones, B.',
         'STATE': 'IN', 'OVERS_PART': '1234.56', 'PROJ_REQ': '3,434',
         'UNIDENT_BAL': '1,111', 'SECTOR': 'IT', 'SUMMARY': 'sum sum sum'}
     issue_cache = Mock()
     issue_cache.find.return_value = Campaign.objects.get(name='Technology')
     sync.create_pcpp(account, row, issue_cache)
     project = Project.objects.get(title='New Project Effort')
     description = json.loads(project.description)
     description = description['data'][0]['data']['text']
     self.assertEqual(project.account.code, '098-765')
     self.assertEqual(project.country.name, 'China')
     self.assertEqual(project.volunteername, 'Jones, B.')
     self.assertEqual(project.volunteerhomestate, 'IN')
     self.assertEqual(project.account.community_contribution, 123456)
     self.assertEqual(project.account.goal, 343400)
     self.assertEqual(project.account.current, (343400 - 111100))
     self.assertEqual(project.overflow.name, 'Information Technology')
     self.assertEqual(project.campaigns.all()[0].name, 'Technology')
     self.assertEqual(description, 'sum sum sum')
     self.assertEqual(project.slug, 'new-project-effort')
     self.assertFalse(project.published)
     project.delete()
     account.delete()
 def test_create_pcpp_empty(self):
     """Community contribution might be empty"""
     account = Account(name='New Project Effort',
                       code='098-765',
                       category=Account.PROJECT)
     row = {
         'PROJ_NO': '098-765',
         'LOCATION': 'CHINA',
         'PROJ_NAME1': 'New Project Effort',
         'PCV_NAME': 'IN Jones, B.',
         'STATE': 'IN',
         'OVERS_PART': '',
         'PROJ_REQ': '3,434',
         'UNIDENT_BAL': '1,111',
         'SECTOR': 'IT',
         'SUMMARY': 'sum sum sum'
     }
     issue_cache = Mock()
     issue_cache.find.return_value = Campaign.objects.get(name='Technology')
     sync.create_pcpp(account, row, issue_cache)
     project = Project.objects.get(title='New Project Effort')
     self.assertEqual(project.account.community_contribution, 0)
     self.assertEqual(project.account.goal, 343400)
     self.assertEqual(project.account.current, (343400 - 111100))
     account.delete()  # cascades
Ejemplo n.º 4
0
 def test_create_pcpp_no_sector(self):
     """The ominous "None" sector has special significance"""
     account = Account(name='New Project Effort', code='098-765',
                       category=Account.PROJECT)
     row = {
         'PROJ_NO': '098-765', 'LOCATION': 'CHINA',
         'PROJ_NAME1': 'New Project Effort', 'PCV_NAME': 'IN Jones, B.',
         'STATE': 'IN', 'OVERS_PART': '', 'PROJ_REQ': '3,434',
         'UNIDENT_BAL': '1,111', 'SECTOR': 'None', 'SUMMARY': 'sum sum sum'}
     issue_cache = Mock()
     issue_cache.find.return_value = None
     sync.create_pcpp(account, row, issue_cache)
     project = Project.objects.get(title='New Project Effort')
     self.assertEqual(project.overflow, None)
     self.assertEqual(project.campaigns.all().count(), 0)
     account.delete()    # cascades
 def test_create_pcpp_empty(self):
     """Community contribution might be empty"""
     account = Account(name='New Project Effort', code='098-765',
                       category=Account.PROJECT)
     row = {
         'PROJ_NO': '098-765', 'LOCATION': 'CHINA',
         'PROJ_NAME1': 'New Project Effort', 'PCV_NAME': 'IN Jones, B.',
         'STATE': 'IN', 'OVERS_PART': '', 'PROJ_REQ': '3,434',
         'UNIDENT_BAL': '1,111', 'SECTOR': 'IT', 'SUMMARY': 'sum sum sum'}
     issue_cache = Mock()
     issue_cache.find.return_value = Campaign.objects.get(name='Technology')
     sync.create_pcpp(account, row, issue_cache)
     project = Project.objects.get(title='New Project Effort')
     self.assertEqual(project.account.community_contribution, 0)
     self.assertEqual(project.account.goal, 343400)
     self.assertEqual(project.account.current, (343400 - 111100))
     account.delete()    # cascades
    def test_create_pcpp_failure(self):
        """Country and sector must be valid, lest nothing gets saved. An error
        should be logged in this situation"""
        count = Project.objects.count()
        issue_cache = Mock()
        issue_cache.find.return_value = Campaign.objects.get(name='Technology')
        row = {'LOCATION': 'NONEXISTENT', 'SECTOR': 'MOCKED'}
        with self.assertLogs('peacecorps.sync_accounting',
                             level=logging.WARN) as logger:
            sync.create_pcpp(None, row, issue_cache)
        self.assertEqual(count, Project.objects.count())    # nothing created
        self.assertEqual(1, len(logger.output))
        self.assertTrue('NONEXISTENT' in logger.output[0])
        self.assertTrue('MOCKED' in logger.output[0])

        issue_cache.find.return_value = None
        row = {'LOCATION': 'IRELAND', 'SECTOR': 'MOCKED'}
        with self.assertLogs('peacecorps.sync_accounting',
                             level=logging.WARN) as logger:
            sync.create_pcpp(None, row, issue_cache)
        self.assertEqual(count, Project.objects.count())    # nothing created
        self.assertEqual(1, len(logger.output))
        self.assertTrue('IRELAND' in logger.output[0])
        self.assertTrue('MOCKED' in logger.output[0])
Ejemplo n.º 7
0
    def test_create_pcpp_failure(self):
        """Country and sector must be valid, lest nothing gets saved. An error
        should be logged in this situation"""
        count = Project.objects.count()
        issue_cache = Mock()
        issue_cache.find.return_value = Campaign.objects.get(name='Technology')
        row = {'LOCATION': 'NONEXISTENT', 'SECTOR': 'MOCKED', 'PROJ_NO': '111'}
        with self.assertLogs('peacecorps.sync_accounting',
                             level=logging.WARN) as logger:
            sync.create_pcpp(None, row, issue_cache)
        self.assertEqual(count, Project.objects.count())    # nothing created
        self.assertEqual(1, len(logger.output))
        self.assertTrue('NONEXISTENT' in logger.output[0])
        self.assertFalse('MOCKED' in logger.output[0])

        issue_cache.find.return_value = None
        row = {'LOCATION': 'IRELAND', 'SECTOR': 'MOCKED', 'PROJ_NO': '111'}
        with self.assertLogs('peacecorps.sync_accounting',
                             level=logging.WARN) as logger:
            sync.create_pcpp(None, row, issue_cache)
        self.assertEqual(count, Project.objects.count())    # nothing created
        self.assertEqual(2, len(logger.output))
        self.assertTrue('IRELAND' in logger.output[0])
        self.assertTrue('MOCKED' in logger.output[1])