def test_retractions_display_limited_fields(self): registration = RegistrationFactory(creator=self.user, project=self.public_project, public=True) url = '/{}registrations/{}/'.format(API_BASE, registration._id) retraction = RetractedRegistrationFactory(registration=registration, user=registration.creator) retraction.justification = 'We made a major error.' retraction.save() res = self.app.get(url, auth=self.user.auth) assert_equal(res.status_code, 200) assert_items_equal( res.json['data']['attributes'], { 'title': registration.title, 'description': registration.description, 'date_created': registration.date_created, 'date_registered': registration.registered_date, 'retraction_justification': registration.retraction.justification, 'public': None, 'category': None, 'date_modified': None, "registration": True, 'fork': None, 'collection': None, 'dashboard': None, 'tags': None, 'retracted': True, 'pending_retraction': None, 'pending_registration_approval': None, "pending_embargo": None, "registered_meta": None, "registration_supplement": registration.registered_meta.keys()[0] }) contributors = urlparse( res.json['data']['relationships']['contributors']['links'] ['related']['href']).path assert_equal( contributors, '/{}registrations/{}/contributors/'.format(API_BASE, registration._id)) assert_not_in('children', res.json['data']['relationships']) assert_not_in('comments', res.json['data']['relationships']) assert_not_in('node_links', res.json['data']['relationships']) assert_not_in('registrations', res.json['data']['relationships']) assert_not_in('parent', res.json['data']['relationships']) assert_not_in('forked_from', res.json['data']['relationships']) assert_not_in('files', res.json['data']['relationships']) assert_not_in('logs', res.json['data']['relationships'])
def test_retractions_display_limited_fields(self): registration = RegistrationFactory(creator=self.user, project=self.public_project, public=True) url = "/{}registrations/{}/".format(API_BASE, registration._id) retraction = RetractedRegistrationFactory(registration=registration, user=registration.creator) retraction.justification = "We made a major error." retraction.save() res = self.app.get(url, auth=self.user.auth) assert_equal(res.status_code, 200) assert_items_equal( res.json["data"]["attributes"], { "title": registration.title, "description": registration.description, "date_created": registration.date_created, "date_registered": registration.registered_date, "retraction_justification": registration.retraction.justification, "public": None, "category": None, "date_modified": None, "registration": True, "fork": None, "collection": None, "dashboard": None, "tags": None, "retracted": True, "pending_retraction": None, "pending_registration_approval": None, "pending_embargo": None, "registered_meta": None, "registration_supplement": registration.registered_meta.keys()[0], }, ) contributors = urlparse(res.json["data"]["relationships"]["contributors"]["links"]["related"]["href"]).path assert_equal(contributors, "/{}registrations/{}/contributors/".format(API_BASE, registration._id)) assert_not_in("children", res.json["data"]["relationships"]) assert_not_in("comments", res.json["data"]["relationships"]) assert_not_in("node_links", res.json["data"]["relationships"]) assert_not_in("registrations", res.json["data"]["relationships"]) assert_not_in("parent", res.json["data"]["relationships"]) assert_not_in("forked_from", res.json["data"]["relationships"]) assert_not_in("files", res.json["data"]["relationships"]) assert_not_in("logs", res.json["data"]["relationships"])
def test_retractions_display_limited_fields(self): registration = RegistrationFactory(creator=self.user, project=self.public_project, public=True) url = '/{}registrations/{}/'.format(API_BASE, registration._id) retraction = RetractedRegistrationFactory(registration=registration, user=registration.creator) retraction.justification = 'We made a major error.' retraction.save() res = self.app.get(url, auth=self.user.auth) assert_equal(res.status_code, 200) assert_items_equal(res.json['data']['attributes'], { 'title': registration.title, 'description': registration.description, 'date_created': registration.date_created, 'date_registered': registration.registered_date, 'retraction_justification': registration.retraction.justification, 'public': None, 'category': None, 'date_modified': None, "registration": True, 'fork': None, 'collection': None, 'dashboard': None, 'tags': None, 'retracted': True, 'pending_retraction': None, 'pending_registration_approval': None, 'pending_embargo_approval': None, "embargo_end_date": None, "registered_meta": None, 'current_user_permissions': None, "registration_supplement": registration.registered_meta.keys()[0] }) contributors = urlparse(res.json['data']['relationships']['contributors']['links']['related']['href']).path assert_equal(contributors, '/{}registrations/{}/contributors/'.format(API_BASE, registration._id)) assert_not_in('children', res.json['data']['relationships']) assert_not_in('comments', res.json['data']['relationships']) assert_not_in('node_links', res.json['data']['relationships']) assert_not_in('registrations', res.json['data']['relationships']) assert_not_in('parent', res.json['data']['relationships']) assert_not_in('forked_from', res.json['data']['relationships']) assert_not_in('files', res.json['data']['relationships']) assert_not_in('logs', res.json['data']['relationships'])
def setUp(self): self.maxDiff = None super(TestRegistrationDetail, self).setUp() self.user = AuthUserFactory() self.user_two = AuthUserFactory() self.public_project = ProjectFactory(title="Project One", is_public=True, creator=self.user) self.private_project = ProjectFactory(title="Project Two", is_public=False, creator=self.user) self.public_registration = RegistrationFactory(project=self.public_project, creator=self.user, is_public=True) self.private_registration = RegistrationFactory(project=self.private_project, creator=self.user) self.public_url = '/{}registrations/{}/'.format(API_BASE, self.public_registration._id) self.private_url = '/{}registrations/{}/'.format(API_BASE, self.private_registration._id) self.retraction_registration = RegistrationFactory(creator=self.user, project=self.public_project, public=True) self.retraction_url = '/{}registrations/{}/'.format(API_BASE, self.retraction_registration._id) retraction = RetractedRegistrationFactory(registration=self.retraction_registration, user=self.retraction_registration.creator) retraction.justification = 'We made a major error.' retraction.save()