#include "components/autofill/core/browser/ui/payments/card_unmask_otp_input_dialog_controller_impl.h"
#include "base/test/metrics/histogram_tester.h"
#include "build/build_config.h"
#include "components/autofill/core/browser/metrics/payments/card_unmask_authentication_metrics.h"
#include "components/autofill/core/browser/payments/card_unmask_challenge_option.h"
#include "components/autofill/core/browser/payments/otp_unmask_result.h"
#include "components/autofill/core/browser/ui/payments/card_unmask_otp_input_dialog_view.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace autofill {
namespace {
class TestCardUnmaskOtpInputDialogView : public CardUnmaskOtpInputDialogView { … };
}
class CardUnmaskOtpInputDialogControllerImplTest
: public testing::Test,
public testing::WithParamInterface<CardUnmaskChallengeOptionType> { … };
TEST_P(CardUnmaskOtpInputDialogControllerImplTest,
DialogCancelledByUserBeforeConfirmation_NoTemporaryError) { … }
TEST_P(CardUnmaskOtpInputDialogControllerImplTest,
DialogCancelledByUserBeforeConfirmation_OtpMistmatch) { … }
TEST_P(CardUnmaskOtpInputDialogControllerImplTest,
DialogCancelledByUserAfterConfirmation_OtpExpired) { … }
TEST_P(CardUnmaskOtpInputDialogControllerImplTest, ServerRequestSucceeded) { … }
TEST_P(CardUnmaskOtpInputDialogControllerImplTest, ServerRequestFailed) { … }
TEST_P(CardUnmaskOtpInputDialogControllerImplTest, NewCodeLinkClicked) { … }
INSTANTIATE_TEST_SUITE_P(…);
}