def register(request): if "application/json" in request.META.get("CONTENT_TYPE"): data = json.loads(request.body) else: data = request.POST serialized = UserSerializer(data=data) if serialized.is_valid(): user_data = utils.get_user_data(data) utils.create_inactive_user(request, **user_data) return Response(utils.USER_CREATED_RESPONSE_DATA, status=status.HTTP_201_CREATED) else: return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)
def test_activate_user(self): user = utils.create_inactive_user(**VALID_DATA) user = utils.activate_user( user.api_registration_profile.activation_key) self.assertTrue(user.is_active)
def register(request): """ Example valid JSON: {"username": "******", "email": "*****@*****.**", "password": "******", "restaurant": "My Pub"} """ serialized = UserSerializer(data=request.data) if serialized.is_valid(): #default code: create new_user user_data = utils.get_user_data(request.data) new_user = utils.create_inactive_user(**user_data) #Crear el restaurante del nuevo usuario: new_owner = Owner(user=new_user, name=new_user.username) new_owner.save() print("Owner " + new_owner.name + " created. [OK]") restaurant_name = request.data.pop('restaurant') new_restaurant = Restaurant(owner=new_owner, name=restaurant_name) new_restaurant.save() print("Restaurant " + new_restaurant.name + " created. [OK]") #Crear el staff staff_name = new_user.username new_staff = Staff(user=new_user, first_name=staff_name, restaurant=new_restaurant) #Manager por defecto new_staff.save() print("Staff " + new_staff.first_name + " created. [OK]") return Response(utils.USER_CREATED_RESPONSE_DATA, status=status.HTTP_201_CREATED) else: return Response(serialized._errors, status=status.HTTP_409_CONFLICT)
def test_activate__without_ACTIVATE_REDIRECT_URL(self): user = utils.create_inactive_user(**VALID_DATA) request = MockHttpRequest() self.assertRaises( ImproperlyConfigured, activate, request, activation_key=user.registrationprofile.activation_key)
def test_activate__without_ACTIVATE_REDIRECT_URL(self): user = utils.create_inactive_user(**VALID_DATA) request = MockHttpRequest() self.assertRaises( ImproperlyConfigured, activate, request, activation_key=user.api_registration_profile.activation_key)
def test_activate(self): user = utils.create_inactive_user(**VALID_DATA) request = MockHttpRequest() response = activate( request, activation_key=user.registrationprofile.activation_key) user = get_user_model().objects.get(pk=user.pk) self.assertTrue(user.is_active) self.assertEqual(user.registrationprofile.activation_key, RegistrationProfile.ACTIVATED) self.assertEqual(response.status_code, status.HTTP_302_FOUND) self.assertEqual( response['location'], utils.get_settings('REGISTRATION_API_ACTIVATION_SUCCESS_URL'))
def test_activate(self): user = utils.create_inactive_user(**VALID_DATA) request = MockHttpRequest() response = activate( request, activation_key=user.api_registration_profile.activation_key) user = get_user_model().objects.get(pk=user.pk) self.assertTrue(user.is_active) self.assertEqual(user.api_registration_profile.activation_key, RegistrationProfile.ACTIVATED) self.assertEqual(response.status_code, status.HTTP_302_FOUND) self.assertEqual(response['location'], utils.get_settings('REGISTRATION_API_ACTIVATION_SUCCESS_URL'))
def test_create_inactive_user(self, mock_create_profile, mock_send_activation_email): site = Site.objects.get() user_model = get_user_model() with mock.patch.object(user_model.objects, 'create_user') as mock_create_user: mock_create_user.return_value = get_user_model()(**VALID_DATA) user = utils.create_inactive_user(**VALID_DATA) if hasattr(user, 'username'): mock_create_user.assert_called_with(VALID_DATA['username'], VALID_DATA['email'], VALID_DATA['password']) else: mock_create_user.assert_called_with(VALID_DATA['email'], VALID_DATA['password']) mock_create_profile.assert_called_with(user) self.assertFalse(user.is_active) self.assertTrue(user.pk) mock_send_activation_email.assert_called_with(user, site)
def test_activate_user(self): user = utils.create_inactive_user(**VALID_DATA) user = utils.activate_user(user.api_registration_profile.activation_key) self.assertTrue(user.is_active)