def setUp(self): self.subsidiary = Subsidiary(name='test', code='t') self.subsidiary.save() # Lead.post_save needs a superuser, let's create one user = User.objects.create_user(username='******') user.is_superuser = True user.save() # Silence logger utils.logger.addHandler(logging.NullHandler())
def setUp(self): self.subsidiary = Subsidiary(name="test", code="t") self.subsidiary.save() # Lead.post_save needs a superuser, let's create one user = User.objects.create_user(username="******") user.is_superuser = True user.save() # Silence logger utils.logger.addHandler(logging.NullHandler())
class ProposalSheetImportTest(TestCase): def setUp(self): self.subsidiary = Subsidiary(name='test', code='t') self.subsidiary.save() # Lead.post_save needs a superuser, let's create one user = User.objects.create_user(username='******') user.is_superuser = True user.save() # Silence logger utils.logger.addHandler(logging.NullHandler()) def test_import_proposal_sheets(self): context = utils.ImportContext(subsidiary=self.subsidiary) firm_lst = utils.load_objects(os.path.join(TEST_DIR, 'proposals'), 'firms') utils.import_firms(firm_lst) contact_lst = utils.load_objects(os.path.join(TEST_DIR, 'proposals'), 'contacts') utils.import_contacts(contact_lst) proposal_sheet_lst = utils.load_objects(os.path.join(TEST_DIR, 'proposals'), 'proposal_sheets') utils.import_proposal_sheets(proposal_sheet_lst, context) # Check lead 3, linked to a firm lead = Lead.objects.get(external_id="incwo:3") self.assertEquals(lead.state, 'WON') self.assertEquals(lead.deal_id, 'D1234-56789') self.assertEquals(lead.name, 'Project Foobar') self.assertEquals(lead.description, 'Echo Alpha Tango') client = Client.objects.get(organisation__company__external_id="incwo:1", contact=None) self.assertEquals(lead.client, client) # Check lead 4, linked to a contact lead = Lead.objects.get(external_id="incwo:4") self.assertEquals(lead.state, 'WON') self.assertEquals(lead.deal_id, 'D5678-90123') self.assertEquals(lead.name, 'No Firm ID Proposal') client = Client.objects.get(contact__external_id="incwo:12") self.assertEquals(lead.client, client) # No lead 5, because it was lost self.assertFalse(Lead.objects.filter(external_id="incwo:5")) def test_import_proposal_lines(self): context = utils.ImportContext(subsidiary=self.subsidiary, import_missions=True) load_and_import_objects(os.path.join(TEST_DIR, 'proposal-lines'), context) lead = Lead.objects.get(external_id="incwo:3") EXPECTED_DESCRIPTION = \ u"""Echo Alpha Tango *Engineering* - Dev. Dev Foobar. 3.5 M/D × 500 € = 1750 € - Dev _[option]_. Implement remote control. 2 M/D × 450 € = 900 € Total: 2400 € """ self.assertEquals(lead.sales, Decimal('1.75')) # There should be one associated mission missions = lead.mission_set.all() self.assertEquals(len(missions), 1) mission = missions[0] self.assertEquals(mission.price, Decimal('1.75'))
class ProposalSheetImportTest(TestCase): def setUp(self): self.subsidiary = Subsidiary(name="test", code="t") self.subsidiary.save() # Lead.post_save needs a superuser, let's create one user = User.objects.create_user(username="******") user.is_superuser = True user.save() # Silence logger utils.logger.addHandler(logging.NullHandler()) def test_import_proposal_sheets(self): context = utils.ImportContext(subsidiary=self.subsidiary) firm_lst = utils.load_objects(os.path.join(TEST_DIR, "proposals"), "firms") utils.import_firms(firm_lst) contact_lst = utils.load_objects(os.path.join(TEST_DIR, "proposals"), "contacts") utils.import_contacts(contact_lst) proposal_sheet_lst = utils.load_objects(os.path.join(TEST_DIR, "proposals"), "proposal_sheets") utils.import_proposal_sheets(proposal_sheet_lst, context) # Check lead 3, linked to a firm lead = Lead.objects.get(external_id="incwo:3") self.assertEquals(lead.state, "WON") self.assertEquals(lead.deal_id, "D1234-56789") self.assertEquals(lead.name, "Project Foobar") self.assertEquals(lead.description, "Echo Alpha Tango") client = Client.objects.get(organisation__company__external_id="incwo:1", contact=None) self.assertEquals(lead.client, client) # Check lead 4, linked to a contact lead = Lead.objects.get(external_id="incwo:4") self.assertEquals(lead.state, "WON") self.assertEquals(lead.deal_id, "D5678-90123") self.assertEquals(lead.name, "No Firm ID Proposal") client = Client.objects.get(contact__external_id="incwo:12") self.assertEquals(lead.client, client) # No lead 5, because it was lost self.assertFalse(Lead.objects.filter(external_id="incwo:5")) def test_import_proposal_lines(self): context = utils.ImportContext(subsidiary=self.subsidiary, import_missions=True) load_and_import_objects(os.path.join(TEST_DIR, "proposal-lines"), context) lead = Lead.objects.get(external_id="incwo:3") EXPECTED_DESCRIPTION = u"""Echo Alpha Tango *Engineering* - Dev. Dev Foobar. 3.5 M/D × 500 € = 1750 € - Dev _[option]_. Implement remote control. 2 M/D × 450 € = 900 € Total: 2400 € """ self.assertEquals(lead.sales, Decimal("1.75")) # There should be one associated mission missions = lead.mission_set.all() self.assertEquals(len(missions), 1) mission = missions[0] self.assertEquals(mission.price, Decimal("1.75"))