def test_quickfiles_moves_destination_quickfiles_has_weird_numbers( self, user, quickfiles): other_user = factories.UserFactory() third_user = factories.UserFactory() create_test_file(quickfiles, user, filename='Woo (1).pdf') create_test_file(quickfiles, user, filename='Woo (3).pdf') create_test_file(QuickFilesNode.objects.get(creator=other_user), other_user, filename='Woo.pdf') create_test_file(QuickFilesNode.objects.get(creator=third_user), other_user, filename='Woo.pdf') user.merge_user(other_user) user.save() user.merge_user(third_user) user.save() actual_filenames = list( OsfStorageFile.objects.filter(node=quickfiles).values_list( 'name', flat=True)) expected_filenames = [ 'Woo.pdf', 'Woo (1).pdf', 'Woo (2).pdf', 'Woo (3).pdf' ] assert_items_equal(actual_filenames, expected_filenames)
def test_get_erpc_participants(self): creator = AuthUserFactory() admin_contributor = AuthUserFactory() write_contributor = AuthUserFactory() read_contributor = AuthUserFactory() project = ProjectFactory(creator=creator) project.add_contributor(admin_contributor, permissions=['admin'], auth=Auth(creator)) project.add_contributor(write_contributor, permissions=['write'], auth=Auth(creator)) project.add_contributor(read_contributor, permissions=['read'], auth=Auth(creator)) project.save() schema = MetaSchema.objects.get( name='Election Research Preacceptance Competition', active=False) registration = project.register_node(schema=schema, auth=Auth(creator), data='') registration.save() gathered_participant_emails = get_erpc_participants() expected_participant_emails = [ admin_contributor.username, creator.username, write_contributor.username ] assert_items_equal(gathered_participant_emails, expected_participant_emails) assert read_contributor not in gathered_participant_emails
def test_quickfiles_moves_files_on_triple_merge_with_name_conflict( self, user, quickfiles): name = 'Woo.pdf' other_user = factories.UserFactory() third_user = factories.UserFactory() create_test_file(quickfiles, user, filename=name) create_test_file(QuickFilesNode.objects.get(creator=other_user), other_user, filename=name) create_test_file(QuickFilesNode.objects.get(creator=third_user), third_user, filename=name) user.merge_user(other_user) user.save() user.merge_user(third_user) user.save() actual_filenames = list(OsfStorageFile.objects.all().values_list( 'name', flat=True)) expected_filenames = ['Woo.pdf', 'Woo (1).pdf', 'Woo (2).pdf'] assert_items_equal(actual_filenames, expected_filenames)
def test_identifier_list_returns_correct_categories_and_values(self, all_identifiers, data_preprint_identifier): # test_identifier_list_returns_correct_categories categories = all_identifiers.values_list('category', flat=True) categories_in_response = [identifier['attributes']['category'] for identifier in data_preprint_identifier] assert_items_equal(categories_in_response, list(categories)) # test_identifier_list_returns_correct_values values = all_identifiers.values_list('value', flat=True) values_in_response = [identifier['attributes']['value'] for identifier in data_preprint_identifier] assert_items_equal(values_in_response, list(values))
def test_identifier_list_returns_correct_categories_and_values(self, all_identifiers, data_registration_identifiers): # test_identifier_list_returns_correct_categories categories = [identifier.category for identifier in all_identifiers] categories_in_response = [identifier['attributes']['category'] for identifier in data_registration_identifiers] assert_items_equal(categories_in_response, categories) # test_identifier_list_returns_correct_values values = [identifier.value for identifier in all_identifiers] values_in_response = [identifier['attributes']['value'] for identifier in data_registration_identifiers] assert_items_equal(values_in_response, values)
def test_identifier_list_returns_correct_categories_and_values( self, all_identifiers, data_registration_identifiers): # test_identifier_list_returns_correct_categories categories = [identifier.category for identifier in all_identifiers] categories_in_response = [identifier['attributes']['category'] for identifier in data_registration_identifiers] assert_items_equal(categories_in_response, categories) # test_identifier_list_returns_correct_values values = [identifier.value for identifier in all_identifiers] values_in_response = [identifier['attributes']['value'] for identifier in data_registration_identifiers] assert_items_equal(values_in_response, values)
def test_identifier_list_returns_correct_categories_and_values( self, all_identifiers, data_preprint_identifier): # test_identifier_list_returns_correct_categories categories = all_identifiers.values_list('category', flat=True) categories_in_response = [identifier['attributes']['category'] for identifier in data_preprint_identifier] assert_items_equal(categories_in_response, list(categories)) # test_identifier_list_returns_correct_values values = all_identifiers.values_list('value', flat=True) values_in_response = [identifier['attributes']['value'] for identifier in data_preprint_identifier] assert_items_equal(values_in_response, list(values))
def test_identifier_filter_by_category(self, app, registration, identifier_registration, url_registration_identifiers): IdentifierFactory(referent=registration, category='nopeid') identifiers_for_registration = registration.identifiers assert identifiers_for_registration.count() == 2 assert_items_equal( list(identifiers_for_registration.values_list('category', flat=True)), ['carpid', 'nopeid'] ) filter_url = '{}?filter[category]=carpid'.format(url_registration_identifiers) new_res = app.get(filter_url) carpid_total = Identifier.objects.filter(category='carpid').count() total = new_res.json['links']['meta']['total'] assert total == carpid_total
def test_identifier_filter_by_category(self, app, node, identifier_node, url_node_identifiers): IdentifierFactory(referent=node, category='nopeid') identifiers_for_node = Identifier.objects.filter(object_id=node.id) assert identifiers_for_node.count() == 2 assert_items_equal( [identifier.category for identifier in identifiers_for_node], ['carpid', 'nopeid']) filter_url = '{}?filter[category]=carpid'.format(url_node_identifiers) new_res = app.get(filter_url) carpid_total = Identifier.objects.filter(category='carpid').count() total = new_res.json['links']['meta']['total'] assert total == carpid_total
def test_quickfiles_moves_files_on_triple_merge_with_name_conflict_with_digit(self, user, quickfiles): name = 'Woo (1).pdf' other_user = factories.UserFactory() third_user = factories.UserFactory() create_test_file(quickfiles, user, filename=name) create_test_file(QuickFilesNode.objects.get(creator=other_user), other_user, filename=name) create_test_file(QuickFilesNode.objects.get(creator=third_user), third_user, filename=name) user.merge_user(other_user) user.save() user.merge_user(third_user) user.save() actual_filenames = list(OsfStorageFile.objects.all().values_list('name', flat=True)) expected_filenames = ['Woo (1).pdf', 'Woo (2).pdf', 'Woo (3).pdf'] assert_items_equal(actual_filenames, expected_filenames)
def test_identifier_filter_by_category( self, app, node, identifier_node, url_node_identifiers): IdentifierFactory(referent=node, category='nopeid') identifiers_for_node = Identifier.objects.filter(object_id=node.id) assert identifiers_for_node.count() == 2 assert_items_equal( [identifier.category for identifier in identifiers_for_node], ['carpid', 'nopeid'] ) filter_url = '{}?filter[category]=carpid'.format(url_node_identifiers) new_res = app.get(filter_url) carpid_total = Identifier.objects.filter(category='carpid').count() total = new_res.json['links']['meta']['total'] assert total == carpid_total
def test_quickfiles_moves_destination_quickfiles_has_weird_numbers(self, user, quickfiles): other_user = factories.UserFactory() third_user = factories.UserFactory() create_test_file(quickfiles, user, filename='Woo (1).pdf') create_test_file(quickfiles, user, filename='Woo (3).pdf') create_test_file(QuickFilesNode.objects.get(creator=other_user), other_user, filename='Woo.pdf') create_test_file(QuickFilesNode.objects.get(creator=third_user), other_user, filename='Woo.pdf') user.merge_user(other_user) user.save() user.merge_user(third_user) user.save() actual_filenames = list(quickfiles.files.all().values_list('name', flat=True)) expected_filenames = ['Woo.pdf', 'Woo (1).pdf', 'Woo (2).pdf', 'Woo (3).pdf'] assert_items_equal(actual_filenames, expected_filenames)
def test_get_erpc_participants(self): creator = AuthUserFactory() admin_contributor = AuthUserFactory() write_contributor = AuthUserFactory() read_contributor = AuthUserFactory() project = ProjectFactory(creator=creator) project.add_contributor(admin_contributor, permissions=['admin'], auth=Auth(creator)) project.add_contributor(write_contributor, permissions=['write'], auth=Auth(creator)) project.add_contributor(read_contributor, permissions=['read'], auth=Auth(creator)) project.save() schema = MetaSchema.objects.get(name='Election Research Preacceptance Competition', active=False) registration = project.register_node(schema=schema, auth=Auth(creator), data='') registration.save() gathered_participant_emails = get_erpc_participants() expected_participant_emails = [admin_contributor.username, creator.username, write_contributor.username] assert_items_equal(gathered_participant_emails, expected_participant_emails) assert read_contributor not in gathered_participant_emails
def test_identifier_filter_by_category( self, app, registration, identifier_registration, url_registration_identifiers ): IdentifierFactory(referent=registration, category='nopeid') identifiers_for_registration = registration.identifiers assert identifiers_for_registration.count() == 2 assert_items_equal( list( identifiers_for_registration.values_list( 'category', flat=True ) ), ['carpid', 'nopeid'] ) filter_url = '{}?filter[category]=carpid'.format( url_registration_identifiers) new_res = app.get(filter_url) carpid_total = Identifier.objects.filter(category='carpid').count() total = new_res.json['links']['meta']['total'] assert total == carpid_total