def build_group_user(self, user): data = { 'userFrom': user.uuid, 'groups': [ {'name': 'Group1', 'users': []}, {'name': 'Group2', 'users': []}, ], 'group_type': settings.CONVERSATIONS_CH_USER, } for group in data['groups']: group['users'].append({ 'user_uuid': str(uuid.uuid4()), 'name': faker.name(), 'profile_picture': faker.image_url(), 'profile_url': faker.uri(), 'short_title': faker.word() }) group['users'].append({ 'user_uuid': str(user.uuid), 'name': faker.name(), 'profile_picture': faker.image_url(), 'profile_url': faker.uri(), 'short_title': faker.word() }) return data
def build_groups(self, user): data = { 'userFrom': user.uuid, 'groups': [ {'name': 'Group1', 'users': []}, {'name': 'Group2', 'users': []}, ], 'group_type': settings.CONVERSATIONS_CH_PROJECT, } users_duplicated = [str(uuid.uuid4())] for group in data['groups']: for _ in range(5): group['users'].append({ 'user_uuid': str(uuid.uuid4()), 'name': faker.name(), 'profile_picture': faker.image_url(), 'profile_url': faker.uri(), 'short_title': faker.word() }) for user_duplicated in users_duplicated: group['users'].append({ 'user_uuid': user_duplicated, 'name': faker.name(), 'profile_picture': faker.image_url(), 'profile_url': faker.uri(), 'short_title': faker.word() }) return data
def get_mock_data(self, optional=True): answers = [{ 'question': faker.text(), 'response': faker.boolean(), 'response_text': ['Yes', 'No'][random.randint(0, 1)] } for _ in range(random.randint(0, 2))] mock_data = { 'title': '[Role] for [Project Name]', 'applicant_name': '[EM Name]', 'applicant_profile_picture': faker.image_url(settings.DEFAULT_IMAGE_SIZE, settings.DEFAULT_IMAGE_SIZE), 'applicant_role': '[Applicant User Title]', 'summary': '[Comment]', 'questions_extra_info': '[Extra info from Consultant]', 'applicant_email': '[email]', 'applicant_profile_url': '/{}'.format(faker.uri_path()), 'disable_notification_url': None, 'public_url': '/{}'.format(faker.uri_path()), 'answers': answers, } return mock_data
def generate_fake_user_data(self, user): return { 'user': user, 'name': faker.name(), 'profile_picture': faker.image_url(), 'profile_url': faker.uri(), 'short_title': faker.word() }
def get_mock_data(self, optional=True): mock_data = super().get_mock_data() mock_data.update({ 'post_title': '[Topic title]', 'answer_content': faker.text(), 'circle_name': '[Hub name]', 'created_by_name': faker.name(), 'created_by_profile_picture': faker.image_url(settings.MEDIUM_IMAGE_SIZE, settings.MEDIUM_IMAGE_SIZE), 'created_by_role': '[User Title]', }) return mock_data
def get_mock_data(self, optional=True): mock_data = super().get_mock_data() mock_data.update({ 'short_name': '[Short name]', 'created_by_name': '[Created By User]', 'created_by_profile_picture': faker.image_url(settings.DEFAULT_IMAGE_SIZE, settings.DEFAULT_IMAGE_SIZE), 'created_by_role': '[User Title]', 'answer_content': '[Reply Comment]' }) return mock_data
def get_mock_data(self, optional=True): mock_data = { 'description': '[Description]', 'title': '[Role] for [Opportunity Title]', 'created_by_name': '[Created By User]', 'created_by_profile_picture': faker.image_url(settings.DEFAULT_IMAGE_SIZE, settings.DEFAULT_IMAGE_SIZE), 'created_by_role': '[User Title]', 'tags': [faker.word() for _ in range(random.randint(2, 10))], 'entity_name': '[Entity]', 'location_string': '[Location]', 'start_date': '[day] [month], [year]', 'duration': '[Duration]', 'budget_string': '[Bugdget]', 'public_url': '/{}'.format(faker.uri_path()), 'disable_notification_url': None, 'num_positions': 33, } return mock_data
def get_mock_data(self, optional=True): mock_data = { 'title': '[Role] for [Opportunity title]', 'created_by_name': '[Created By User]', 'created_by_profile_picture': faker.image_url(settings.DEFAULT_IMAGE_SIZE, settings.DEFAULT_IMAGE_SIZE), 'created_by_user_title': '[User Title]', 'recipient_name': '[Recipient Name]', 'public_url': '/{}'.format(faker.uri_path()), 'disable_notification_url': '/{}'.format(faker.uri_path()), } return mock_data
def get_mock_data(self, optional=True): mock_data = { 'title': '[user-name] started a new conversation [related to <opportunity-name>]|<project-name>]', 'user_from_full_name': '[User From name]', 'user_from_title': '[User from title]', 'user_from_profile_picture': faker.image_url(settings.DEFAULT_IMAGE_SIZE, settings.DEFAULT_IMAGE_SIZE), 'disable_notification_url': None, 'message': faker.text(), 'public_url': '/{}'.format(faker.uri_path()), } return mock_data
def test_update_conversation_group(self, mock_request): # PREPARE DATA self.init_mock(mock_request) generic_object = self.create_object(user=self.super_user) groups = self.build_groups(self.super_user) conversations = self.create_conversations(self.super_user, generic_object) conversation = conversations[0] group = groups.get('groups')[0] url = reverse( 'api:conversations-update', kwargs={ 'related_uuid': generic_object.uuid, 'conversation_uuid': conversation.uuid.__str__()}) users = group.get('users')[1:] users.append({ 'user_uuid': str(uuid.uuid4()), 'name': faker.name(), 'profile_picture': faker.image_url(), 'profile_url': faker.uri(), 'short_title': faker.word() }) data = { 'name': faker.name(), 'icon': faker.uri(), 'users': users } # DO ACTION self.setup_credentials(conversation.created_by) response = self.client.put(url, data=data) # ASSERTS for superuser self.assertTrue(status.is_success(response.status_code)) self.assertEqual(conversation.users.count(), len(users)) for user in users: self.assertTrue( conversation.users.filter(user__uuid=user.get('user_uuid')).exists())
def get_mock_data(self, optional=True): mock_data = super().get_mock_data() mock_data.update({ 'short_name': '[Short name]', 'requester_name': '[Requester full name]', 'requester_short_name': '[Requester name]', 'requester_profile_picture': faker.image_url(settings.DEFAULT_IMAGE_SIZE, settings.DEFAULT_IMAGE_SIZE), 'user_title': 'Consultant, Coach, Speaker', 'requester_email': faker.email(), 'requester_profile_url': '/{}'.format(faker.uri_path()), 'comment': '[Comment]', }) return mock_data
def image(anon, obj, field, val): return faker.image_url( settings.EXO_ACCOUNTS_DEFAULT_IMAGE_SIZE, settings.EXO_ACCOUNTS_DEFAULT_IMAGE_SIZE, )