public void Initialize() { _settingsMock = new Mock <IOptionsMonitor <RecaptchaSettings> >(); _settingsMock.SetupGet(instance => instance.CurrentValue) .Returns(new RecaptchaSettings() { SiteKey = SiteKey, SecretKey = string.Empty }) .Verifiable(); _optionsMock = new Mock <IOptionsMonitor <RecaptchaOptions> >(); _optionsMock.SetupGet(instance => instance.CurrentValue) .Returns(new RecaptchaOptions()) .Verifiable(); _tagHelperComponentCollectionMock = new Mock <ICollection <ITagHelperComponent> >(); _tagHelperComponentCollectionMock.Setup(instance => instance.Add(It.IsAny <CallbackScriptTagHelperComponent>())) .Verifiable(); _tagHelperComponentManagerMock = new Mock <ITagHelperComponentManager>(); _tagHelperComponentManagerMock.SetupGet(instance => instance.Components) .Returns(_tagHelperComponentCollectionMock.Object); _tagHelperOutputStub = new TagHelperOutput("recaptcha-invisible", new TagHelperAttributeList(), (useCachedResult, htmlEncoder) => { var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetContent(string.Empty); return(Task.FromResult <TagHelperContent>(tagHelperContent)); }); _contextStub = new TagHelperContext(new TagHelperAttributeList(), new Dictionary <object, object>(), Guid.NewGuid().ToString("N")); invisibleTagHelper = new RecaptchaInvisibleTagHelper(_settingsMock.Object, _optionsMock.Object, _tagHelperComponentManagerMock.Object) { Callback = CallbackName }; }
public void Construction_IsSuccessful() { // Arrange _settingsMock = new Mock <IOptionsMonitor <RecaptchaSettings> >(); _settingsMock.SetupGet(instance => instance.CurrentValue) .Returns(new RecaptchaSettings()) .Verifiable(); _optionsMock = new Mock <IOptionsMonitor <RecaptchaOptions> >(); _optionsMock.SetupGet(instance => instance.CurrentValue) .Returns(new RecaptchaOptions()) .Verifiable(); // Act var instance = new RecaptchaInvisibleTagHelper(_settingsMock.Object, _optionsMock.Object, _tagHelperComponentManagerMock.Object); // Assert Assert.NotNull(instance); _settingsMock.Verify(settings => settings.CurrentValue, Times.Once); _optionsMock.Verify(options => options.CurrentValue, Times.Once); }
public void Process_ShouldThrow_InvalidOperationException_WhenCallbackAndFormIdNullOrEmpty() { // Arrange var nullCallbackTagHelper = new RecaptchaInvisibleTagHelper(_settingsMock.Object, _optionsMock.Object, _tagHelperComponentManagerMock.Object) { Callback = null, FormId = null }; var emptyCallbackTagHelper = new RecaptchaInvisibleTagHelper(_settingsMock.Object, _optionsMock.Object, _tagHelperComponentManagerMock.Object) { Callback = string.Empty, FormId = string.Empty }; // Act // Assert Assert.Throws <InvalidOperationException>(() => nullCallbackTagHelper.Process(_contextStub, _tagHelperOutputStub)); Assert.Throws <InvalidOperationException>(() => emptyCallbackTagHelper.Process(_contextStub, _tagHelperOutputStub)); }
public void Constructor_ShouldSet_DefaultValues_FromGlobalOptions() { // Arrange _settingsMock = new Mock <IOptionsMonitor <RecaptchaSettings> >(); _settingsMock.SetupGet(instance => instance.CurrentValue) .Returns(new RecaptchaSettings()) .Verifiable(); _optionsMock = new Mock <IOptionsMonitor <RecaptchaOptions> >(); _optionsMock.SetupGet(instance => instance.CurrentValue) .Returns(new RecaptchaOptions() { Badge = BadgePosition.Inline }) .Verifiable(); // Act var tagHelper = new RecaptchaInvisibleTagHelper(_settingsMock.Object, _optionsMock.Object, _tagHelperComponentManagerMock.Object); // Assert _optionsMock.Verify(options => options.CurrentValue, Times.Once); Assert.AreEqual(BadgePosition.Inline, tagHelper.Badge); }