public void GetAssets_WhenMediaTypeIsNotIContentMediaAndContentCantBeResolved_ShouldReturnOneEmptyItem()
        {
            // Arrange
            _assetContainerMock
            .SetupGet(a => a.CommerceMediaCollection)
            .Returns(new ItemCollection <CommerceMedia>()
            {
                new CommerceMedia()
                {
                    AssetLink = new ContentReference(12)
                },
                new CommerceMedia()
                {
                    AssetLink = new ContentReference(13)
                }
            });

            IContent outValue;

            _contentLoaderMock.Setup(c => c.TryGet(It.IsAny <ContentReference>(), out outValue)).Returns(false);

            // Act
            var result = AssetContainerExtensions.GetAssets <IContentImage>(_assetContainerMock.Object, _contentLoaderMock.Object, _urlResolverMock.Object);

            // Assert
            Assert.Equal <string>(String.Empty, result.Single());
        }
        public void GetAssets_WhenCommerceMediaCollectionIsEmpty_ShouldReturnOneEmptyItem()
        {
            // Arrange
            _assetContainerMock
            .SetupGet(a => a.CommerceMediaCollection)
            .Returns(new ItemCollection <CommerceMedia>()
            {
            });

            // Act
            var result = AssetContainerExtensions.GetAssets <IContentMedia>(_assetContainerMock.Object, _contentLoaderMock.Object, _urlResolverMock.Object);

            // Assert
            Assert.Equal <string>(String.Empty, result.Single());
        }
        public void GetAssets_WhenCommerceMediaCollectionHasTwoEntries_ShouldReturnTwoItems()
        {
            // Arrange
            _assetContainerMock
            .SetupGet(a => a.CommerceMediaCollection)
            .Returns(new ItemCollection <CommerceMedia>()
            {
                new CommerceMedia(),
                new CommerceMedia()
            });

            // Act
            var result = AssetContainerExtensions.GetAssets <IContentMedia>(_assetContainerMock.Object, _contentLoaderMock.Object, _urlResolverMock.Object);

            // Assert
            Assert.Equal <int>(2, result.Count());
        }
        public void GetAssets_WhenMediaTypeIsNotIContentMediaAndContentLinkHasValue_ShouldNotFilterResult()
        {
            // Arrange
            _assetContainerMock
            .SetupGet(a => a.CommerceMediaCollection)
            .Returns(new ItemCollection <CommerceMedia>()
            {
                new CommerceMedia()
                {
                    AssetLink = new ContentReference(12)
                },
                new CommerceMedia()
                {
                    AssetLink = new ContentReference(13)
                }
            });

            // Act
            var result = AssetContainerExtensions.GetAssets <IContentImage>(_assetContainerMock.Object, _contentLoaderMock.Object, _urlResolverMock.Object);

            // Assert
            Assert.Equal <int>(2, result.Count());
        }
        public void GetAssets_WhenMediaTypeIsNotIContentMediaAndContentLinkIsEmpty_ShouldReturnOneEmptyItem()
        {
            // Arrange
            _assetContainerMock
            .SetupGet(a => a.CommerceMediaCollection)
            .Returns(new ItemCollection <CommerceMedia>()
            {
                new CommerceMedia()
                {
                    AssetLink = ContentReference.EmptyReference
                },
                new CommerceMedia()
                {
                    AssetLink = ContentReference.EmptyReference
                }
            });

            // Act
            var result = AssetContainerExtensions.GetAssets <IContentImage>(_assetContainerMock.Object, _contentLoaderMock.Object, _urlResolverMock.Object);

            // Assert
            Assert.Equal <string>(String.Empty, result.Single());
        }