示例#1
0
        public void SetImage(string title, string tags, string path, string user)
        {
            GalleryImage Image = new GalleryImage
            {
                Title        = title,
                ImageCreated = DateTime.Now,
                UserName     = user,
                Tags         = TagsFromStringParse(DeleteSpace(tags)),
                Url          = path,
            };

            ImageGalleryDbContext.Add(Image);
            ImageGalleryDbContext.SaveChanges();
        }
        public async Task UpdateImage_ModelHasCorrectData()
        {
            // Arrange
            var    options         = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase("UpdateImage_ModelHasCorrectData").Options;
            var    ctx             = new ImageGalleryDbContext(options);
            IImage service         = new Service(ctx);
            var    mockEnvironment = new Mock <IWebHostEnvironment>();

            mockEnvironment
            .Setup(m => m.EnvironmentName)
            .Returns("Hosting:UnitTestEnvironment");
            ctx.Add(new GalleryImage
            {
                Id    = 1,
                Title = "11"
            });
            ctx.SaveChanges();
            ImageController controller = new ImageController(service, mockEnvironment.Object);
            // Act

            ViewResult result = await controller.UpdateImage(1) as ViewResult;

            GalleryImage Image = result.ViewData.Model as GalleryImage;

            // Assert
            Assert.AreEqual("11", Image.Title);
        }
        public async Task DeleteImage_ImageDeleted()
        {
            // Arrange
            var    options         = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase("DeleteImage_ImageDeleted").Options;
            var    ctx             = new ImageGalleryDbContext(options);
            IImage service         = new Service(ctx);
            var    mockEnvironment = new Mock <IWebHostEnvironment>();

            mockEnvironment
            .Setup(m => m.EnvironmentName)
            .Returns("Hosting:UnitTestEnvironment");

            ctx.Add(new GalleryImage
            {
                Id    = 1,
                Title = "11"
            });
            ctx.SaveChanges();
            ImageController controller = new ImageController(service, mockEnvironment.Object);

            // Act
            try
            {
                await controller.Delete(1);

                Assert.Fail();
            }
            catch (Exception) { }
            // Assert
        }
        public async Task DeleteImage_GetViewResult()
        {
            // Arrange
            var    options         = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase("DeleteImage_GetViewResult").Options;
            var    ctx             = new ImageGalleryDbContext(options);
            IImage service         = new Service(ctx);
            var    mockEnvironment = new Mock <IWebHostEnvironment>();

            mockEnvironment
            .Setup(m => m.EnvironmentName)
            .Returns("Hosting:UnitTestEnvironment");
            ctx.Add(new GalleryImage
            {
                Id    = 1,
                Title = "11",
                Url   = ""
            });
            ctx.SaveChanges();
            ImageController controller = new ImageController(service, mockEnvironment.Object);
            // Act

            var result = await controller.Delete(1);

            Assert.IsInstanceOf <ViewResult>(result);
        }
示例#5
0
        public ActionResult Upload(ImagGallary imageGallary, int?page)
        {
            if (imageGallary.file == null)
            {
                Response.Write("<div id='uploadImageError'>");
                Response.Write("You have to select a photo of type jpg");
                Response.Write("</div>");
            }
            if (imageGallary.Description == null)
            {
                Response.Write("<div id='uploadImageErro'>");
                Response.Write("You must provide a very short description about the Image");
                Response.Write("</div>");
            }
            if (imageGallary.file != null && imageGallary.Description != null)
            {
                try
                {
                    byte[] data = new byte[imageGallary.file.ContentLength];
                    imageGallary.file.InputStream.Read(data, 0, imageGallary.file.ContentLength);
                    imageGallary.Image = data;

                    db.ImagGallaries.Add(imageGallary);
                    db.SaveChanges();
                    imageGallary.file = null;

                    ViewData["users"] = db.ImagGallaries.ToList().ToPagedList(page ?? 1, 5);


                    return(View(db.ImagGallaries.ToList().ToPagedList(page ?? 1, 3)));
                }
                catch (Exception)
                {
                    Response.Write("<div id='uploadImageError'>");
                    Response.Write("Sorry,You are allowed to Upload only JPG type Picture .If Your picture is jpg typed then make sure that it is less than 2MB in size");
                    Response.Write("</div>");
                }
            }


            ViewData["users"] = db.ImagGallaries.ToList().ToPagedList(page ?? 1, 3);
            return(View(db.ImagGallaries.ToList().ToPagedList(page ?? 1, 3)));
        }
        public async Task UpdateImagePost_GetViewResult()
        {
            // Arrange
            var    options         = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase("Test1_ImageController").Options;
            var    ctx             = new ImageGalleryDbContext(options);
            IImage service         = new Service(ctx);
            var    mockEnvironment = new Mock <IWebHostEnvironment>();


            Bitmap bitmap = new Bitmap(10, 10, System.Drawing.Imaging.PixelFormat.Format32bppArgb);

            System.Drawing.Image copy = bitmap;

            string newPath = Environment.CurrentDirectory + "/test/newImageName.jpg";

            copy.Save(newPath);

            mockEnvironment
            .Setup(m => m.WebRootPath).Returns(Environment.CurrentDirectory + "/test/");
            ImageController controller = new ImageController(service, mockEnvironment.Object);

            ctx.Add(new GalleryImage
            {
                Id    = 1,
                Title = "11",
                Url   = "newImageName.jpg"
            });
            ctx.SaveChanges();
            var fileMock = new Mock <IFormFile>();

            var file      = new Mock <IFormFile>();
            var sourceImg = File.OpenRead("C:\\Users\\PC\\Source\\Repos\\andr1312e\\ImageGallery\\ImageGallery\\wwwroot\\gallery\\1.jpeg");
            var stream    = new MemoryStream();
            var writer    = new StreamWriter(stream);

            writer.Write(sourceImg);
            writer.Flush();
            stream.Position = 0;
            var fileName = "QQ.png";

            file.Setup(f => f.OpenReadStream()).Returns(stream);
            file.Setup(f => f.FileName).Returns(fileName);
            file.Setup(f => f.Length).Returns(stream.Length);
            file.Setup(f => f.ContentType).Returns("image/jpeg");
            // Act

            var result = await controller.UpdateImage(1, "122", file.Object);

            // Assert
            Assert.IsInstanceOf <ViewResult>(result);
            var    IRes = (ViewResult)result;
            var    res  = IRes.ViewData.Model as GalleryImage;
            string a    = "2";
        }
示例#7
0
        public void Service_Rename_Image_Correct()
        {
            var options = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase("Rename").Options;
            var ctx     = new ImageGalleryDbContext(options);

            ctx.Add(new GalleryImage
            {
                Id    = 1,
                Title = "11"
            });
            ctx.SaveChanges();
            IImage service = new Service(ctx);

            service.Rename(service.GetById(1), "33");
            Assert.AreEqual("33", service.GetById(1).Title);
        }
示例#8
0
        public void Service_Get_By_Id_Correct()
        {
            var options = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase("Get_by_Id").Options;
            var ctx     = new ImageGalleryDbContext(options);

            ctx.Add(new GalleryImage
            {
                Id    = 1,
                Title = "11"
            });
            ctx.SaveChanges();
            IImage service  = new Service(ctx);
            string TitleGet = service.GetById(1).Title;

            Assert.AreEqual("11", TitleGet);
        }
示例#9
0
        public void Service_Get_Last_Id_Correct()
        {
            var    options = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase("LastId").Options;
            var    ctx     = new ImageGalleryDbContext(options);
            IImage service = new Service(ctx);

            ctx.Add(new GalleryImage
            {
                Id    = 0,
                Title = "11"
            });
            ctx.SaveChanges();
            int id = service.LastId();

            Assert.AreEqual(1, id);
        }
示例#10
0
        public void Service_Get_By_UserName_Correct()
        {
            var    options = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase("UserName").Options;
            var    ctx     = new ImageGalleryDbContext(options);
            IImage service = new Service(ctx);

            ctx.Add(new GalleryImage
            {
                Id       = 0,
                Title    = "11",
                UserName = "******"
            });
            ctx.SaveChanges();
            GalleryImage img = service.GetByUserName("33").First();

            Assert.AreEqual("11", img.Title);
        }
示例#11
0
        public void Service_Delete_Image_Correct()
        {
            var options = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase("Delete").Options;
            var ctx     = new ImageGalleryDbContext(options);

            ctx.Add(new GalleryImage
            {
                Id    = 1,
                Title = "11"
            });
            ctx.SaveChanges();
            IImage service = new Service(ctx);

            service.Delete(service.GetById(1));
            int count = service.GetAll().Count();

            Assert.AreEqual(0, count);
        }
示例#12
0
        public void Service_Edit_ImageUrl_Correct()
        {
            var options = new DbContextOptionsBuilder <ImageGalleryDbContext>()
                          .UseInMemoryDatabase(databaseName: "Service_Edit_ImageUrl_Correct").Options;

            using (var ctx = new ImageGalleryDbContext(options))
            {
                ctx.GalleryImages.Add(new GalleryImage
                {
                    Id    = 19,
                    Title = "AAA",
                    Url   = "1.JPEG"
                });
                ctx.SaveChanges();
                IImage ImgService = new Service(ctx);
                ImgService.EditImage(ImgService.GetById(19), "2.JPEG");
                Assert.AreEqual("2.JPEG", ImgService.GetById(19).Url);
            }
        }
示例#13
0
        public void Service_Return_All_Correct()
        {
            var options = new DbContextOptionsBuilder <ImageGalleryDbContext>().UseInMemoryDatabase(databaseName: "Return_All_Images").Options;

            using var ctx = new ImageGalleryDbContext(options);
            ctx.GalleryImages.Add(new GalleryImage
            {
                Id    = 20,
                Title = "1"
            });
            ctx.GalleryImages.Add(new GalleryImage
            {
                Id    = 21,
                Title = "2"
            });
            ctx.SaveChanges();
            IImage service = new Service(ctx);
            int    count   = service.GetAll().Count();

            Assert.AreEqual(2, count);
        }
示例#14
0
 public void AddImage(Image newImage)
 {
     _ctx.Add(newImage);
     _ctx.SaveChanges();
 }