Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
        }