Esempio n. 1
0
    def tjest_detail_with_guest(self):
        experiment = ExperimentFactory(lab=self.lab, owners=[self.guest.pk])
        unit = UnitFactory(experiments=[experiment], lab=self.lab, user=self.owner)
        url = reverse('experiments:detail', kwargs={'lab_pk': self.lab.pk, 'pk': experiment.pk})

        resp = self.client.get(url, follow=True)
        self.assertEqual(resp.status_code, 200)
        self.assertContains(resp, _('Login'))

        self.client.login(username=self.guest.email, password='******')
        resp = self.client.get(url, follow=True)
        self.assertEqual(resp.status_code, 200)
        self.assertContains(resp, unit.get_absolute_url(), 1)

        self.client.login(username=self.member.email, password='******')
        resp = self.client.get(url, follow=True)
        self.assertEqual(resp.status_code, 200)

        self.client.login(username=self.owner.email, password='******')
        resp = self.client.get(url, follow=True)
        self.assertEqual(resp.status_code, 200)

        self.client.login(username=self.user4.email, password='******')
        resp = self.client.get(url, follow=True)
        self.assertEqual(resp.status_code, 403)