Beispiel #1
0
        public void TestOnCreateProduct_ShouldSetViewModelIdCorrectly(string name,
                                                                      string categoryName,
                                                                      int quantity,
                                                                      decimal price,
                                                                      double volume,
                                                                      string maker,
                                                                      string imageMimeType,
                                                                      int id)
        {
            var buffer = new byte[2];

            var mockedView = new Mock <ICreateProductView>();

            mockedView.Setup(v => v.Model).Returns(new CreateProductViewModel());

            var product = new Models.Product {
                ProductId = id
            };

            var mockedService = new Mock <IProductService>();

            mockedService.Setup(
                s => s.CreateProduct(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <decimal>(),
                                     It.IsAny <double>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <byte[]>()))
            .Returns(product);

            var presenter = new CreateProductPresenter(mockedView.Object, mockedService.Object);

            var args = new CreateProductEventArgs(name, categoryName, quantity, price, volume, maker, imageMimeType, buffer);

            mockedView.Raise(v => v.MyCreateProduct += null, args);

            Assert.AreEqual(id, mockedView.Object.Model.Id);
        }
        protected void CreateProduct_Click(object sender, EventArgs e)
        {
            if (ImageBuffer == null)
            {
                this.ErrorMessage.Text = "Please upload an image for the product";
                return;
            }

            var name     = this.Name.Text;
            var category = this.Category.Text;
            var quantity = int.Parse(this.Quantity.Text);
            var maker    = this.Maker.Text;
            var price    = int.Parse(this.Price.Text);
            var volume   = double.Parse(this.Volume.Text);

            var args = new CreateProductEventArgs(name, category, quantity, price, volume, maker, ImageMimeType, ImageBuffer);

            this.MyCreateProduct?.Invoke(this, args);
            ImageBuffer = null;

            var redirectLink = string.Format(RedirectUrl, this.Model.Id);

            this.Response.Redirect(redirectLink);
        }