public void DropZoneMonitor() { var testImageHeight = 150; var testImageWidth = 150; var testImage = new Bitmap(testImageWidth, testImageHeight); var testImageName = "testImage.png"; //site url driver.Url = TestSettings.AdminPanelUrl; //prepare target to edit var testBrand = new Brand() { BrandName = TestSettings.brandName }; context.Brands.Add(testBrand); var monitor = new Common.Models.Monitors.Monitor() { Model = TestSettings.monitorModel, }; monitor.Brand = testBrand; //construct physical path to images folder string physicalPath = helper.GetPhysicalImageFolderLocation(TestSettings.brandName, TestSettings.monitorModel); Directory.CreateDirectory(physicalPath); context.Monitors.Add(monitor); context.SaveChanges(); context.Entry(monitor).State = EntityState.Detached; testImage.Save(physicalPath + "\\" + testImageName); //get id of newly created monitor var monitorToBeEditedId = context.Monitors.FirstOrDefault(x => x.Model == TestSettings.monitorModel).Id; //enter account details if not logged in helper.EnterAccountDetails(driver); //go to edit helper.GoToEditPage(driver, TestSettings.brandName, monitorToBeEditedId); var dropzone = driver.FindElement(By.Id("dropzoneJsForm")); DropFile(dropzone, physicalPath + "\\" + testImageName); var uploadButton = driver.FindElement(By.Id("upload-images")); uploadButton.Click(); Thread.Sleep(3000); var result = context.Monitors.Find(monitorToBeEditedId); context.Entry(result).Reload(); Assert.That(result.MonitorImages.Count > 0); }
public void DeleteMonitorImage() { var testImageHeight = 150; var testImageWidth = 150; var testImageName = "testImage.png"; var testImage = new Bitmap(testImageWidth, testImageHeight); //prepare target to edit var testBrand = new Brand() { BrandName = TestSettings.brandName }; context.Brands.Add(testBrand); var monitor = new Common.Models.Monitors.Monitor() { Model = TestSettings.monitorModel, }; monitor.Brand = testBrand; monitor.MonitorImages.Add(new MonitorImageAddress() { Uri = testImageName }); //construct physical path to images folder string physicalPath = helper.GetPhysicalImageFolderLocation(TestSettings.brandName, TestSettings.monitorModel); Directory.CreateDirectory(physicalPath); context.Monitors.Add(monitor); context.SaveChanges(); context.Entry(monitor).State = EntityState.Detached; testImage.Save(physicalPath + "\\" + testImageName); //get id of newly created monitor var monitorToBeEditedId = context.Monitors.FirstOrDefault(x => x.Model == TestSettings.monitorModel).Id; //site url driver.Url = TestSettings.AdminPanelUrl; //enter account details if not logged in helper.EnterAccountDetails(driver); //go to edit helper.GoToEditPage(driver, TestSettings.brandName, monitorToBeEditedId); //find and change thumbnail var monitorPictures = driver.FindElements(By.CssSelector(".jumbotron > article > .img-thumbnail")); var addedImage = monitorPictures[0]; addedImage.Click(); //find and click the change thumbnail button var deleteImageButton = driver.FindElement(By.Id("deleteImage")); deleteImageButton.Click(); Thread.Sleep(3000); var result = context.Monitors.Find(monitorToBeEditedId); context.Entry(result).Reload(); Assert.Zero(result.MonitorImages.Count); }
public void AddMonitorImage() { //site url driver.Url = TestSettings.AdminPanelUrl; //prepare target to edit var testBrand = new Brand() { BrandName = TestSettings.brandName }; context.Brands.Add(testBrand); var monitor = new Common.Models.Monitors.Monitor() { Model = TestSettings.monitorModel, }; monitor.Brand = testBrand; //construct physical path to images folder string physicalPath = helper.GetPhysicalImageFolderLocation(TestSettings.brandName, TestSettings.monitorModel); context.Monitors.Add(monitor); context.SaveChanges(); context.Entry(monitor).State = EntityState.Detached; //get id of newly created monitor var monitorToBeEditedId = context.Monitors.FirstOrDefault(x => x.Model == TestSettings.monitorModel).Id; //enter account details if not logged in helper.EnterAccountDetails(driver); //go to edit helper.GoToEditPage(driver, TestSettings.brandName, monitorToBeEditedId); //add images //find the add extra upload field button and click it var addUploadImageFieldButton = driver.FindElement(By.Id("addUploadImageLink")); addUploadImageFieldButton.Click(); //add image links to all fields var uploadImageFields = driver.FindElements(By.Name("uploadImageLink")); for (int i = 0; i < uploadImageFields.Count; i++) { uploadImageFields[i].SendKeys("https://i.imgur.com/P4xrAZB.png"); } //find the reset button and click it var resetUploadImageFieldsButton = driver.FindElement(By.Id("resetUploadImageFields")); resetUploadImageFieldsButton.Click(); //add image link to the single field var uploadImageField = driver.FindElement(By.Name("uploadImageLink")); uploadImageField.SendKeys("https://i.imgur.com/P4xrAZB.png"); //find and click the upload button var uploadImageLinksButton = driver.FindElement(By.Id("uploadImageLinks")); uploadImageLinksButton.Click(); Thread.Sleep(3000); var result = context.Monitors.Find(monitorToBeEditedId); context.Entry(result).Reload(); Assert.That(result.MonitorImages.Count > 0); }