class TestNodeDeleteView(AdminTestCase): def setUp(self): super(TestNodeDeleteView, self).setUp() self.node = ProjectFactory() self.request = RequestFactory().post('/fake_path') self.view = NodeDeleteView() self.view = setup_log_view(self.view, self.request, guid=self.node._id) def test_get_object(self): obj = self.view.get_object() nt.assert_is_instance(obj, Node) def test_get_context(self): res = self.view.get_context_data(object=self.node) nt.assert_in('guid', res) nt.assert_equal(res.get('guid'), self.node._id) def test_remove_node(self): count = AdminLogEntry.objects.count() self.view.delete(self.request) self.node.refresh_from_db() nt.assert_true(self.node.is_deleted) nt.assert_equal(AdminLogEntry.objects.count(), count + 1) def test_restore_node(self): self.view.delete(self.request) self.node.refresh_from_db() nt.assert_true(self.node.is_deleted) count = AdminLogEntry.objects.count() self.view.delete(self.request) self.node.reload() nt.assert_false(self.node.is_deleted) nt.assert_equal(AdminLogEntry.objects.count(), count + 1)
class TestNodeDeleteView(AdminTestCase): def setUp(self): super(TestNodeDeleteView, self).setUp() self.node = ProjectFactory() self.request = RequestFactory().post('/fake_path') self.plain_view = NodeDeleteView self.view = setup_log_view(self.plain_view(), self.request, guid=self.node._id) self.url = reverse('nodes:remove', kwargs={'guid': self.node._id}) def test_get_object(self): obj = self.view.get_object() nt.assert_is_instance(obj, Node) def test_get_context(self): res = self.view.get_context_data(object=self.node) nt.assert_in('guid', res) nt.assert_equal(res.get('guid'), self.node._id) def test_remove_node(self): count = AdminLogEntry.objects.count() self.view.delete(self.request) self.node.refresh_from_db() nt.assert_true(self.node.is_deleted) nt.assert_equal(AdminLogEntry.objects.count(), count + 1) def test_restore_node(self): self.view.delete(self.request) self.node.refresh_from_db() nt.assert_true(self.node.is_deleted) count = AdminLogEntry.objects.count() self.view.delete(self.request) self.node.reload() nt.assert_false(self.node.is_deleted) nt.assert_equal(AdminLogEntry.objects.count(), count + 1) def test_no_user_permissions_raises_error(self): user = AuthUserFactory() guid = self.node._id request = RequestFactory().get(self.url) request.user = user with nt.assert_raises(PermissionDenied): self.plain_view.as_view()(request, guid=guid) def test_correct_view_permissions(self): user = AuthUserFactory() guid = self.node._id change_permission = Permission.objects.get(codename='delete_node') view_permission = Permission.objects.get(codename='view_node') user.user_permissions.add(change_permission) user.user_permissions.add(view_permission) user.save() request = RequestFactory().get(self.url) request.user = user response = self.plain_view.as_view()(request, guid=guid) nt.assert_equal(response.status_code, 200)