Интеграционное тестирование для ChangeEmailAsyn c in. net core 3.1 - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь написать интеграционный тест для изменения EmailID.

cs html .cs file

var token = await _userManager.GenerateChangeEmailTokenAsync(user, Input.Email);
var changeEmailResult = await _userManager.ChangeEmailAsync(user, Input.Email, token);

[Fact]
public async Task OnPostUpdateEmailAsync_WithValidInput_ShouldReturnSuccessMessage()
{
    await _client.LoginAsync("test1@test.com", TestData.AlicePassword);

    var response = await _client.SubmitAsync("./OnPostUpdateEmailAsync", new
        {
            Email = "testemail@test.com",
            Password_ChangeEmail = "Password1"
        });

    response.AssertOnPage("./ChangeEmailPassword/UpdateEmail");
    response.EnsureSuccessStatusCode();

    var document = await response.GetDocument();
    document.QuerySelectorAll(".alert-success")
        .AssertCount(1)
        .AssertHasTextEqual(
            $"The email address has been changed successfully.");
}

[Fact]
public async Task OnPostResetPasswordAsync_WithWrongConfirmPassword_ShouldReturnErrorMessage()
{
    await _client.LoginAsync(TestData.AliceEmail, TestData.AlicePassword);

    var response = await _client.SubmitAsync("./ChangeEmailPassword/OnPostResetPasswordAsync", new
        {
            OldPassword = "OldPassword1",
            Password = "NewPassword1",
            ConfirmPassword = "NewPassword1"
        });

    response.AssertOnPage("./ChangeEmailPassword/ResetPassword");
    response.EnsureSuccessStatusCode();

    var document = await response.GetDocument();
    document.QuerySelectorAll(".alert-danger")
        .AssertCount(1)
        .AssertHasTextEqual($"Error: The passwords do not match.");
    }

Работает нормально, но после его выполнения все остальные тестовые примеры терпят неудачу. Как я могу предположить, мы меняем идентификатор электронной почты здесь, но для других он все еще ищет старый идентификатор электронной почты. Может быть, я ошибаюсь здесь. Прошу вас всех, пожалуйста, помогите мне в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...