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); }