Exemplo n.º 1
0
        public void 儲存一張主要的產品圖片而且原本沒有圖片Test()
        {
            // arrange

            var mockProduct = new Product
            {
                Id = 1,
                ItemCode = "1000000100101"
            };

            var mockUploadImage = new UploadIamge
            {
                ItemCode = mockProduct.ItemCode,
                PictureType = ProductPictureType.Product,
                BlobPath = "",
                Seq = "01"
            };

            var mockProductPicture = new ProductPicture
            {
                Id = 1,
                ProductId = 1,
                ProductPictureType = 1,
                IsMainPicture = true,
                ImageUrl = "imageUrl"
            };

            var mockProductPictures = new List<ProductPicture>()
            {
                mockProductPicture
            }.AsQueryable();

            var mockProductPictureDbSet = Substitute.For<IDbSet<ProductPicture>>().Initialize(mockProductPictures);
            var mockDbContext = Substitute.For<ICMSDbContext>();

            var productService = new ProductService(mockDbContext);
            mockProductPictureDbSet.Add(mockProductPicture).Returns(mockProductPicture);

            mockDbContext.ProductPictures = mockProductPictureDbSet;

            // act
            productService.SaveProductImageData(mockProduct, mockUploadImage, mockProductPicture.ImageUrl);

            // assert
            mockDbContext.ProductPictures.Should().NotBeNull();

            var productPictureResut = mockDbContext.ProductPictures.ElementAt(0);

            productPictureResut.Should().NotBeNull();
            productPictureResut.Id.Should().Be(mockProductPicture.Id);
            productPictureResut.ImageUrl.Should().Be(mockProductPicture.ImageUrl);
            productPictureResut.IsMainPicture.Should().BeTrue();
            productPictureResut.ProductPictureType.Should().Be(mockProductPicture.ProductPictureType);
        }