def setUp(self): user = get_user_model().objects.create(username="******") room = Room() room.save() room.members.add(user) message = Message(room=room, sender=user, text="Notes to myself") message.save()
def setUp(self): user = get_user_model().objects.create( **{get_user_model().USERNAME_FIELD: "user0"}) room = Room() room.save() room.members.add(user) message = Message(room=room, sender=user, text="Notes to myself") message.save()
def create_room(user_list): for user in user_list: if type(user) != get_user_model(): raise TypeError( "Parameters passed to create_room doesn't " + "match your project's user model. Please make sure the list " + "you passed contains valid settings.AUTH_USER_MODEL objects.") rooms_with_member_count = Room.objects.annotate( num_members=Count('members')) rooms = rooms_with_member_count.filter(num_members=len(user_list)) for member in user_list: rooms = rooms.filter(members=member) if rooms.exists(): room = rooms[0] return room.id else: room = Room() room.save() room.members.set(user_list) room.save() return room.id
def create_room(user_list, **kwargs): """Takes in a list of User objects and returns the UUID of the room created""" for user in user_list: if not isinstance(user, User): raise TypeError( "Parameters passed to create_room doesn't " "match your project's user model. Please make sure the list " "you passed contains valid User objects as defined in your " "settings.AUTH_USER_MODEL parameter.") rooms = Room.objects.filter(members__in=user_list) rooms = rooms.annotate(num_members=Count('members')) rooms = rooms.filter(num_members=len(user_list)) room = rooms.first() if not room: room = Room(**kwargs) room.save() room.members.set(user_list) room.save() return room
def test_invalid_room_id(self): print('testing room creation exception with invalid room id') room = Room(id="invaliduuid") self.assertRaises(ValidationError, room.save)