def test_delete_network_provider_teammate(self): provider = base.DataProviderFactory(created_by=self.creator) self.check_permission_for_teammate( method="GET", url=reverse("provider:delete_network", kwargs={"pk": provider.pk}), )
def test_list_providers(self): self.erase_logging_file() base.DataProviderFactory(created_by=self.creator) resp = self.client.get(reverse("provider:list")) self.assertTemplateUsed(resp, "data_provider/list.html") self.logging()
def test_delete_non_network_provider_teammate(self): provider = base.DataProviderFactory(created_by=self.creator) self.check_permission_for_teammate(method='GET', url=reverse( 'provider:delete_non_network', kwargs={'pk': provider.pk}))
def test_delete_network_provider_auth(self): provider = base.DataProviderFactory(created_by=self.creator) self.check_authenticated_user_redirect_all_methods( url=reverse("provider:delete_network", kwargs={"pk": provider.pk}), redirect_url=reverse("provider:list"), )
def test_delete_non_network_provider_non_auth(self): provider = base.DataProviderFactory(created_by=self.creator) self.check_user_redirect_all_methods( url=reverse('provider:delete_non_network', kwargs={'pk': provider.pk}), redirect_url=self.redirect_login_url)
def test_edit_non_network_provider_auth(self): provider = base.DataProviderFactory(created_by=self.creator) self.check_authenticated_user_redirect_all_methods( url=reverse('provider:edit_non_network', kwargs={'pk': provider.pk}), redirect_url=reverse('provider:list'))
def test_detail_provider_non_auth(self): provider = base.DataProviderFactory(created_by=self.creator) self.check_user_redirect(method='GET', url=reverse('provider:detail', kwargs={'pk': provider.pk}), redirect_url=self.redirect_login_url)
def test_transition_non_network(self): self.erase_logging_file() self.login_creator() provider = base.DataProviderFactory(is_network=False, name='Test provider', created_by=self.creator) provider_details = base.DataProviderDetailsFactory( data_provider=provider, created_by=self.creator) items = ([provider, provider_details]) for item in items: self.assertEqual((getattr(item, 'state')).name, 'draft') transitions = [ { 'source': 'draft', 'target': 'ready', 'user': self.creator }, { 'source': 'ready', 'target': 'draft', 'user': self.creator }, { 'source': 'draft', 'target': 'ready', 'user': self.creator }, { 'source': 'ready', 'target': 'changes', 'user': self.other_user }, { 'source': 'changes', 'target': 'draft', 'user': self.creator }, { 'source': 'draft', 'target': 'ready', 'user': self.creator }, { 'source': 'ready', 'target': 'valid', 'user': self.other_user }, ] for transition in transitions: for item in items: self.assertEqual((getattr(item, 'state')).name, transition['source']) self.client.force_login(transition['user']) response = self.client.post( reverse('provider:transition', kwargs={ 'source': transition['source'], 'target': transition['target'], 'pk': provider.pk })) self.assertRedirects( response, reverse('provider:detail', kwargs={'pk': provider.pk})) for item in items: getattr(item, 'refresh_from_db')() self.assertEqual((getattr(item, 'state')).name, transition['target']) self.logging(check_username=False)
def test_transition(self): self.erase_logging_file() self.login_creator() data = base.DataFactory(name="Test data", created_by=self.creator) provider = base.DataProviderFactory(name="Test provider", created_by=self.creator) data_provider = base.DataProviderRelationFactory( data=data, created_by=self.creator, provider=provider) items = [data, data_provider] for item in items: self.assertEqual((getattr(item, "state")).name, "draft") transitions = [ { "source": "draft", "target": "ready", "user": self.creator }, { "source": "ready", "target": "draft", "user": self.creator }, { "source": "draft", "target": "ready", "user": self.creator }, { "source": "ready", "target": "changes", "user": self.other_user }, { "source": "changes", "target": "draft", "user": self.creator }, { "source": "draft", "target": "ready", "user": self.creator }, { "source": "ready", "target": "valid", "user": self.other_user }, { "source": "ready", "target": "valid", "user": self.creator }, ] for transition in transitions: for item in items: self.assertEqual((getattr(item, "state")).name, transition["source"]) self.client.force_login(transition["user"]) response = self.client.post( reverse( "data:transition", kwargs={ "source": transition["source"], "target": transition["target"], "pk": data.pk, }, )) self.assertRedirects( response, reverse("data:detail", kwargs={"pk": data.pk})) for item in items: getattr(item, "refresh_from_db")() self.assertEqual((getattr(item, "state")).name, transition["target"]) if transition["target"] == "valid": for item in items: item.state = transition["source"] item.save() self.logging(check_username=False)