public async Task UserIsAbleToUpdateProfile() { // Clear headers _client.DefaultRequestHeaders.Clear(); // Register new user var registerFormData = UserMocks.GenerateRegisterData(); var registerResponse = await UserMocks.RegisterNewUserAsync(_client, registerFormData); // Get cookie with user identity for next request _client.PutCookiesOnRequest(registerResponse); // Prepare request to update profile const string manageAction = "/Manage/Index"; var manageResponse = await _client.GetAsync(manageAction); var antiForgeryToken = await manageResponse.ExtractAntiForgeryToken(); var manageProfileData = UserMocks.GenerateManageProfileData(registerFormData["Email"], antiForgeryToken); // Update profile var requestWithAntiForgeryCookie = RequestHelper.CreatePostRequestWithCookies(manageAction, manageProfileData, manageResponse); var requestWithIdentityCookie = CookiesHelper.CopyCookiesFromResponse(requestWithAntiForgeryCookie, registerResponse); var responseMessage = await _client.SendAsync(requestWithIdentityCookie); // Assert responseMessage.StatusCode.Should().Be(HttpStatusCode.Redirect); //The redirect to login responseMessage.Headers.Location.ToString().Should().Be("/Manage"); }