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)
def setUp(self): self.owner = UserFactory() self.member = UserFactory() self.guest = UserFactory() self.user4 = UserFactory() self.lab = LabFactory(investigator=[self.owner.pk], members=[self.member.pk], guests=[self.guest.pk]) self.experiment = ExperimentFactory(lab=self.lab, owners=[self.owner.pk]) self.units = UnitFactory.create_batch(10, lab=self.lab, user=self.owner, experiments=[self.experiment])