Example #1
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.element = BusinessCanvasElementFactory(
            company=self.company, type=BUSINESS_CANVAS_TYPE_CHOICES[0][0])

        self.element2 = BusinessCanvasElementFactory(
            company=self.company, type=BUSINESS_CANVAS_TYPE_CHOICES[1][0])

        self.archive = ArchiveFactory(company=self.company)
        self.archive.elements.add(self.element)
Example #2
0
    def test_index(self):
        """
        To test the listing of the companies.
        """

        """
        Access

        We are connected
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        # list of companies.
        result = self.client.get(
            reverse('company:index'),
            follow=False
        )
        self.assertEqual(result.status_code, 200)
        self.assertEqual(1, len(result.context['filter']))

        nb_company = len(result.context['filter'])

        """
        No Access

        We are not connected
        """
        self.client.logout()

        # list of companies.
        result = self.client.get(
            reverse('company:index'),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        Context data

        Check filter, who contains all companies
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        # create strange company
        companyWeird = CompanyFactory(companyStatus = self.status)
        companyWeird.name = u"Company ïtrema718"
        companyWeird.save()

        # list of companies.
        result = self.client.get(
            reverse('company:index'),
            follow=False
        )
        self.assertEqual(result.status_code, 200)
        self.assertEqual(nb_company+1, len(result.context['filter']))
Example #3
0
class CompanyModelsTest(TestCase):
    def setUp(self):
        self.status1 = CompanyStatusFactory()
        self.company1 = CompanyFactory(companyStatus=self.status1)

    def test_get_users(self):
        self.assertEqual(0, len(self.company1.get_users()))
        founder1 = FounderFactory()
        self.company1.founders.add(founder1)
        self.assertEqual(1, len(self.company1.get_users()))
        users = self.company1.get_users()
        self.assertEqual(founder1.user, users[0])
Example #4
0
class CompanyModelsTest(TestCase):

    def setUp(self):
        self.status1 = CompanyStatusFactory()
        self.company1 = CompanyFactory(companyStatus = self.status1)

    def test_get_users(self):
        self.assertEqual(0, len(self.company1.get_users()))
        founder1 = FounderFactory()
        self.company1.founders.add(founder1)
        self.assertEqual(1, len(self.company1.get_users()))
        users = self.company1.get_users()
        self.assertEqual(founder1.user, users[0])
Example #5
0
    def setUp(self):
        self.status1 = CompanyStatusFactory()
        self.company1 = CompanyFactory(companyStatus=self.status1)

        self.card1 = CardFactory(company=self.company1,
                                 phase=PHASE_CHOICES[1][1],
                                 state=False)
Example #6
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.irl = KPIFactory(
            company=self.company,
            level=1,
            type=KPI_TYPE_CHOICES[0]
        )

        self.trl = KPIFactory(
            company=self.company,
            level=1,
            type=KPI_TYPE_CHOICES[1]
        )
Example #7
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.element = BusinessCanvasElementFactory(
            company=self.company,
            type=BUSINESS_CANVAS_TYPE_CHOICES[0][0]
        )

        self.element2 = BusinessCanvasElementFactory(
            company=self.company,
            type=BUSINESS_CANVAS_TYPE_CHOICES[1][0]
        )

        self.archive = ArchiveFactory(company=self.company)
        self.archive.elements.add(self.element)
Example #8
0
    def test_index(self):
        """
        To test the listing of the companies.
        """
        """
        Access

        We are connected
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        # list of companies.
        result = self.client.get(reverse('company:index'), follow=False)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(1, len(result.context['filter']))

        nb_company = len(result.context['filter'])
        """
        No Access

        We are not connected
        """
        self.client.logout()

        # list of companies.
        result = self.client.get(reverse('company:index'), follow=False)
        self.assertEqual(result.status_code, 302)
        """
        Context data

        Check filter, who contains all companies
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        # create strange company
        companyWeird = CompanyFactory(companyStatus=self.status)
        companyWeird.name = u"Company ïtrema718"
        companyWeird.save()

        # list of companies.
        result = self.client.get(reverse('company:index'), follow=False)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(nb_company + 1, len(result.context['filter']))
Example #9
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'
        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
Example #10
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.card = CardFactory(company=self.company,
                                phase=PHASE_CHOICES[0][1],
                                state=False)
Example #11
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus = self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.bourse = BourseFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)
        self.subvention = SubventionFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)
        self.investissement = InvestissementFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)
        self.pret = PretFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)
        self.vente = VenteFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)
Example #12
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.irl = KPIFactory(company=self.company,
                              level=1,
                              type=KPI_TYPE_CHOICES[0])
        self.trl = KPIFactory(company=self.company,
                              level=1,
                              type=KPI_TYPE_CHOICES[1])
Example #13
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.experiment = CustomerExperimentFactory(
            company=self.company,
            hypothesis="Hypothesis of the experiment",
            experiment_description="description of this experiment",
            test_subject_count=10,
            test_subject_description="description of subject test")
Example #14
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.bourse = BourseFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )

        self.subvention = SubventionFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )

        self.investissement = InvestissementFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )

        self.pret = PretFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )

        self.vente = VenteFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )
Example #15
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus = self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.card = CardFactory(company=self.company,
                                phase= PHASE_CHOICES[0][1],
                                state=False)
Example #16
0
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus = self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.experiment = CustomerExperimentFactory(company=self.company,
                                    hypothesis="Hypothesis of the experiment",
                                    experiment_description="description of this experiment",
                                    test_subject_count=10,
                                    test_subject_description="description of subject test")
Example #17
0
class FinanceTests(TestCase):

    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.irl = KPIFactory(
            company=self.company,
            level=1,
            type=KPI_TYPE_CHOICES[0]
        )

        self.trl = KPIFactory(
            company=self.company,
            level=1,
            type=KPI_TYPE_CHOICES[1]
        )

    def test_trl_filter(self):
        """
        To test the trl detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_irl_filter(self):
        """
        To test the irl detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_filter',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_trl_add(self):
        """
        To add a trl
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_irl_add(self):
        """
        To add a irl
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_trl_update(self):
        """
        To update a trl
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_update',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_update',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_update',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_update',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_update',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_update',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_irl_update(self):
        """
        To update a irl
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_update',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_update',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_update',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_update',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_update',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_update',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_trl_delete(self):
        """
        To delete a trl
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_delete',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_delete',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_delete',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_delete',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_delete',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:trl_delete',
                kwargs={
                    'pk': self.trl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_irl_delete(self):
        """
        To delete a irl
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_delete',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_delete',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_delete',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_delete',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_delete',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'kpi:irl_delete',
                kwargs={
                    'pk': self.irl.id
                }
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)
Example #18
0
class KanboardTests(TestCase):

    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus = self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.card = CardFactory(company=self.company,
                                phase= PHASE_CHOICES[0][1],
                                state=False)

    def test_BoardIndex(self):
        """
        To test the kanboard of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:kanboard', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:kanboard', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:kanboard', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:kanboard', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:kanboard', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:kanboard', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_CardView(self):
        """
        To test the irl detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:card', args= [self.card.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:card', args= [self.card.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:card', args= [self.card.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:card', args= [self.card.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:card', args= [self.card.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('kanboard:card', args= [self.card.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)
Example #19
0
 def setUp(self):
     self.status1 = CompanyStatusFactory()
     self.company1 = CompanyFactory(companyStatus=self.status1)
Example #20
0
class KanboardTests(TestCase):
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.card = CardFactory(company=self.company,
                                phase=PHASE_CHOICES[0][1],
                                state=False)

    def test_BoardIndex(self):
        """
        To test the kanboard of a company.
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:kanboard',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:kanboard',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:kanboard',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:kanboard',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:kanboard',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:kanboard',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_CardView(self):
        """
        To test the irl detail of a company.
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:card', args=[self.card.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:card', args=[self.card.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:card', args=[self.card.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:card', args=[self.card.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:card', args=[self.card.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kanboard:card', args=[self.card.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
Example #21
0
class FinanceTests(TestCase):

    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.bourse = BourseFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )

        self.subvention = SubventionFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )

        self.investissement = InvestissementFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )

        self.pret = PretFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )

        self.vente = VenteFactory(
            company=self.company,
            dateSoumission=time.strftime("%Y-%m-%d"),
            sommeSoumission=10000
        )

    def test_detail_finance(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:detail_finance',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:detail_finance',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:detail_finance',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:detail_finance',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:detail_finance',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:detail_finance',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_bourse_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_bourse_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_update',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_update',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_update',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_update',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_update',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_bourse_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_delete',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_delete',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_delete',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_delete',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:bourse_delete',
                args=[self.bourse.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_subvention_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_subvention_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_update',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_update',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_update',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_update',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_update',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_subvention_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_delete',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_delete',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_delete',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_delete',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:subvention_delete',
                args=[self.subvention.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_investissement_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_investissement_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_update',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_update',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_update',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_update',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_update',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_investissement_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_delete',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_delete',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_delete',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_delete',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:investissement_delete',
                args=[self.investissement.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_pret_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_pret_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_update',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_update',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_update',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_update',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_update',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_pret_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_delete',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_delete',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_delete',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_delete',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:pret_delete',
                args=[self.pret.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_vente_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_add',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_vente_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_update',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_update',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_update',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_update',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_update',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_vente_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_delete',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_delete',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_delete',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_delete',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'finance:vente_delete',
                args=[self.vente.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)
Example #22
0
class FinanceTests(TestCase):
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.irl = KPIFactory(company=self.company,
                              level=1,
                              type=KPI_TYPE_CHOICES[0])
        self.trl = KPIFactory(company=self.company,
                              level=1,
                              type=KPI_TYPE_CHOICES[1])

    def test_trl_filter(self):
        """
        To test the trl detail of a company.
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_irl_filter(self):
        """
        To test the irl detail of a company.
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_filter',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_trl_add(self):
        """
        To add a trl
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_irl_add(self):
        """
        To add a irl
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_trl_update(self):
        """
        To update a trl
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_update',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_update',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_update',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_update',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_update',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_update',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_irl_update(self):
        """
        To update a irl
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_update',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_update',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_update',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_update',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_update',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_update',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_trl_delete(self):
        """
        To delete a trl
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_delete',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_delete',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_delete',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_delete',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_delete',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:trl_delete',
                                         kwargs={'pk': self.trl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_irl_delete(self):
        """
        To delete a irl
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_delete',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_delete',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_delete',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_delete',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_delete',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('kpi:irl_delete',
                                         kwargs={'pk': self.irl.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
Example #23
0
    def test_update(self):
        """
        To test update a company.
        """
        """
        Access : Staff only
        """
        self.client.logout()
        self.assertTrue(
            self.client.login(username=self.staff.user.username,
                              password="******"))

        result = self.client.get(reverse('company:update',
                                         kwargs={'pk': self.company.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Founder on personnal company
        """
        companyTest = CompanyFactory(companyStatus=self.status)
        founderTest = FounderFactory()
        companyTest.founders.add(founderTest)
        companyTest.save()

        self.client.logout()
        self.client.login(username=founderTest.user.username,
                          password="******")

        result = self.client.get(reverse('company:update',
                                         kwargs={'pk': companyTest.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Not in the staff
        """
        #A founder
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('company:update',
                                         kwargs={'pk': self.company.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

        #A mentor
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('company:update',
                                         kwargs={'pk': self.company.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

        #An executive
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('company:update',
                                         kwargs={'pk': self.company.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Not logged
        """
        self.client.logout()

        result = self.client.get(reverse('company:update',
                                         kwargs={'pk': self.company.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        Access of an inexistant company
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('company:update',
                                         kwargs={'pk': 999999}),
                                 follow=False)
        self.assertEqual(result.status_code, 404)
Example #24
0
class ExperimentTests(TestCase):
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.experiment = CustomerExperimentFactory(
            company=self.company,
            hypothesis="Hypothesis of the experiment",
            experiment_description="description of this experiment",
            test_subject_count=10,
            test_subject_description="description of subject test")

    def test_experiment_list(self):
        """
        To test the experiment list of a company.
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_list',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_list',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_list',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_list',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_list',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_list',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_experiment_add(self):
        """
        To test the experiment list of a company.
        """
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_add',
                                         args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_experiment_update(self):
        """
        To test the experiment list of a company.
        """
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_update',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_update',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_update',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_update',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_update',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_update',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_experiment_delete(self):
        """
        To test the experiment list of a company.
        """
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_delete',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_delete',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_delete',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_delete',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_delete',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse('experiment:experiment_delete',
                                         args=[self.experiment.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
Example #25
0
class FinanceTests(TestCase):

    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus = self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.bourse = BourseFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)
        self.subvention = SubventionFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)
        self.investissement = InvestissementFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)
        self.pret = PretFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)
        self.vente = VenteFactory(company=self.company, dateSoumission=time.strftime("%Y-%m-%d"), sommeSoumission=10000)

    def test_detail_finance(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:detail_finance', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:detail_finance', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:detail_finance', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:detail_finance', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:detail_finance', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:detail_finance', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_bourse_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_bourse_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_update', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_update', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_update', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_update', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_update', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_bourse_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_delete', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_delete', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_delete', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_delete', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:bourse_delete', args= [self.bourse.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_subvention_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_subvention_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_update', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_update', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_update', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_update', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_update', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_subvention_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_delete', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_delete', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_delete', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_delete', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:subvention_delete', args= [self.subvention.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_investissement_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_investissement_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_update', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_update', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_update', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_update', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_update', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_investissement_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_delete', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_delete', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_delete', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_delete', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:investissement_delete', args= [self.investissement.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_pret_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_pret_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_update', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_update', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_update', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_update', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_update', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_pret_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_delete', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_delete', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_delete', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_delete', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:pret_delete', args= [self.pret.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_vente_add(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_vente_update(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_update', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_update', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_update', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_update', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_update', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_vente_delete(self):
        """
        To test the finance detail of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_delete', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_delete', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_delete', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_delete', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('finance:vente_delete', args= [self.vente.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)
Example #26
0
class BusinessCanvasTests(TestCase):
    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.element = BusinessCanvasElementFactory(
            company=self.company, type=BUSINESS_CANVAS_TYPE_CHOICES[0][0])

        self.element2 = BusinessCanvasElementFactory(
            company=self.company, type=BUSINESS_CANVAS_TYPE_CHOICES[1][0])

        self.archive = ArchiveFactory(company=self.company)
        self.archive.elements.add(self.element)

    def test_businessCanvasElement_list(self):
        """
        To test the business canvas list of a company.
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElement_list',
            args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElement_list',
            args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElement_list',
            args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElement_list',
            args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElement_list',
            args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElement_list',
            args=[self.company.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_businessCanvasElementArchived_list(self):
        """
        To test the business canvas archived list of a company.
        """
        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElementArchived_list',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElementArchived_list',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElementArchived_list',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElementArchived_list',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElementArchived_list',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasElementArchived_list',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)

    def test_businessCanvasDeleteArchive(self):
        """
        To test delete a business canvas archive of a company.
        """
        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasDeleteArchive',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 200)
        """
        No Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasDeleteArchive',
            kwargs={'pk': self.archive.id}),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasDeleteArchive',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasDeleteArchive',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasDeleteArchive',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username,
                          password="******")

        result = self.client.get(reverse(
            'businessCanvas:businessCanvasDeleteArchive',
            args=[self.archive.id]),
                                 follow=False)
        self.assertEqual(result.status_code, 302)
Example #27
0
    def test_update(self):
        """
        To test update a company.
        """

        """
        Access : Staff only
        """
        self.client.logout()
        self.assertTrue(
            self.client.login(
                username=self.staff.user.username,
                password="******"
            )
        )

        result = self.client.get(
            reverse('company:update', kwargs={'pk': self.company.id}),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founder on personnal company
        """
        companyTest = CompanyFactory(companyStatus=self.status)
        founderTest = FounderFactory()
        companyTest.founders.add(founderTest)
        companyTest.save()

        self.client.logout()
        self.client.login(
            username=founderTest.user.username,
            password="******"
        )

        result = self.client.get(
            reverse('company:update', kwargs={'pk': companyTest.id}),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Not in the staff
        """
        # A founder
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse('company:update', kwargs={'pk': self.company.id}),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        # A mentor
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse('company:update', kwargs={'pk': self.company.id}),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        # An executive
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse('company:update', kwargs={'pk': self.company.id}),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Not logged
        """
        self.client.logout()

        result = self.client.get(
            reverse('company:update', kwargs={'pk': self.company.id}),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        Access of an inexistant company
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse('company:update', kwargs={'pk': 999999}),
            follow=False
        )
        self.assertEqual(result.status_code, 404)
Example #28
0
class BusinessCanvasTests(TestCase):

    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus=self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.element = BusinessCanvasElementFactory(
            company=self.company,
            type=BUSINESS_CANVAS_TYPE_CHOICES[0][0]
        )

        self.element2 = BusinessCanvasElementFactory(
            company=self.company,
            type=BUSINESS_CANVAS_TYPE_CHOICES[1][0]
        )

        self.archive = ArchiveFactory(company=self.company)
        self.archive.elements.add(self.element)

    def test_businessCanvasElement_list(self):
        """
        To test the business canvas list of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElement_list',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElement_list',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElement_list',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElement_list',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElement_list',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElement_list',
                args=[self.company.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_businessCanvasElementArchived_list(self):
        """
        To test the business canvas archived list of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElementArchived_list',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElementArchived_list',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElementArchived_list',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElementArchived_list',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElementArchived_list',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasElementArchived_list',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_businessCanvasDeleteArchive(self):
        """
        To test delete a business canvas archive of a company.
        """

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(
            username=self.founderCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasDeleteArchive',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Staff
        """
        self.client.logout()
        self.client.login(
            username=self.staff.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasDeleteArchive',
                kwargs={'pk': self.archive.id}
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(
            username=self.mentorCompany.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasDeleteArchive',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(
            username=self.founder.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasDeleteArchive',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(
            username=self.mentor.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasDeleteArchive',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(
            username=self.executive.user.username,
            password="******"
        )

        result = self.client.get(
            reverse(
                'businessCanvas:businessCanvasDeleteArchive',
                args=[self.archive.id]
            ),
            follow=False
        )
        self.assertEqual(result.status_code, 302)
Example #29
0
 def setUp(self):
     self.status1 = CompanyStatusFactory()
     self.company1 = CompanyFactory(companyStatus = self.status1)
Example #30
0
class ExperimentTests(TestCase):

    def setUp(self):
        settings.EMAIL_BACKEND = \
            'django.core.mail.backends.locmem.EmailBackend'

        self.founder = FounderFactory()
        self.mentor = MentorFactory()
        self.staff = StaffUserProfileFactory()
        self.executive = ExecutiveUserProfileFactory()

        self.founderCompany = FounderFactory()
        self.mentorCompany = MentorFactory()
        self.status = CompanyStatusFactory()
        self.company = CompanyFactory(companyStatus = self.status)
        self.company.founders.add(self.founderCompany)
        self.company.mentors.add(self.mentorCompany)
        self.company.save()

        self.experiment = CustomerExperimentFactory(company=self.company,
                                    hypothesis="Hypothesis of the experiment",
                                    experiment_description="description of this experiment",
                                    test_subject_count=10,
                                    test_subject_description="description of subject test")

    def test_experiment_list(self):
        """
        To test the experiment list of a company.
        """

        """
        Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_list', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_list', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_list', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_list', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_list', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_list', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_experiment_add(self):
        """
        To test the experiment list of a company.
        """

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_add', args= [self.company.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_experiment_update(self):
        """
        To test the experiment list of a company.
        """

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_update', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_update', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_update', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_update', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_update', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_update', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

    def test_experiment_delete(self):
        """
        To test the experiment list of a company.
        """

        """
        Access : Founders of the company
        """
        self.client.logout()
        self.client.login(username=self.founderCompany.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_delete', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 200)

        """
        No Access : Staff
        """
        self.client.logout()
        self.client.login(username=self.staff.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_delete', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Mentors of the company
        """
        self.client.logout()
        self.client.login(username=self.mentorCompany.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_delete', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Other founders
        """
        self.client.logout()
        self.client.login(username=self.founder.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_delete', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)


        """
        No Access : Other mentors
        """
        self.client.logout()
        self.client.login(username=self.mentor.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_delete', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)

        """
        No Access : Executive
        """
        self.client.logout()
        self.client.login(username=self.executive.user.username, password="******")

        result = self.client.get(
            reverse('experiment:experiment_delete', args= [self.experiment.id]),
            follow=False
        )
        self.assertEqual(result.status_code, 302)