public void InitElements_Indexer(PageObjectWithDecoratedIndexer pageObjectWithDecoratedIndexer, PageObjectFactory pageObjectFactory) { new Action(() => pageObjectFactory.InitElements(pageObjectWithDecoratedIndexer)).Should() .Throw <DecorationException>() .WithMessage($"Unable to decorate {pageObjectWithDecoratedIndexer.GetType().Name}.Item, it cannot be written to"); }
public void InitElements_DoesNotDecorateUndecoratedMembers([Frozen] Mock <IPageObjectMemberDecorator> memberDecoratorMock, PageObjectFactory pageObjectFactory) { pageObjectFactory.InitElements(new PageObjectWithUndecoratedMembers()); memberDecoratorMock.Verify(x => x.Decorate(It.IsAny <Type>(), It.IsAny <IEnumerable <By> >(), It.IsAny <IElementLocator>()), Times.Never()); }
public void InitElements_DecoratesProperties([Frozen] Mock <IPageObjectMemberDecorator> memberDecoratorMock, PageObjectFactory pageObjectFactory, PageObjectWithProperties pageObject, int value) { memberDecoratorMock.Setup(x => x.Decorate(typeof(int), It.IsAny <IEnumerable <By> >(), It.IsAny <IElementLocator>())) .Returns(value); pageObjectFactory.InitElements(pageObject); memberDecoratorMock.Verify(x => x.Decorate(typeof(int), It.IsAny <IEnumerable <By> >(), It.IsAny <IElementLocator>()), Times.Exactly(4)); pageObject.PublicProperty.Should().Be(value); pageObject.PrivatePropertyValue().Should().Be(value); pageObject.ProtectedPropertyValue().Should().Be(value); pageObject.InternalPropertyValue().Should().Be(value); }
public void InitElements_ArgumentNullException(PageObjectFactory pageObjectFactory) { new Action(() => pageObjectFactory.InitElements(null)).Should() .Throw <ArgumentNullException>(); }