Beispiel #1
0
        public void ReturnCourse_WhenParametersAreCorrect()
        {
            //Arrange
            var dbMock       = new Mock <ApplicationDbContext>();
            var services     = new UploadCourseService(dbMock.Object);
            var jsonFileMock = new Mock <HttpPostedFileBase>();

            Course expected = new Course()
            {
                Id = 1, Description = "just", Name = "Gincho"
            };
            var courseJson = JsonConvert.SerializeObject(expected);

            MemoryStream memoryStream = new MemoryStream();
            StreamWriter writer       = new StreamWriter(memoryStream);

            writer.Write(courseJson);
            writer.Flush();

            memoryStream.Position = 0;

            jsonFileMock.SetupGet(m => m.InputStream).Returns(memoryStream);

            //Act
            Course actual = services.ReadCourseFromJson(jsonFileMock.Object);

            //Assert
            Assert.AreEqual(expected.Id, actual.Id);
            Assert.AreEqual(expected.Name, actual.Name);
            Assert.AreEqual(expected.Description, actual.Description);

            writer.Dispose();
        }
        public void ReturnByteArrayOfJson_WhenJsonIsNotNull()
        {
            // Arange
            var contextMock = new Mock <ApplicationDbContext>();
            var stream      = new FileStream(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
                                                          @"files\Course.json"), FileMode.Open);

            var fileBaseMock = new Mock <HttpPostedFileBase>();

            fileBaseMock.Setup(m => m.InputStream).Returns(stream);

            byte[] rightByteArray;
            using (MemoryStream ms = new MemoryStream())
            {
                fileBaseMock.Object.InputStream.Seek(0, SeekOrigin.Begin);
                fileBaseMock.Object.InputStream.CopyTo(ms);
                rightByteArray = ms.GetBuffer();
            }

            var uploadService = new UploadCourseService(contextMock.Object);

            // Act
            var actualResult = uploadService.ImageToByteArray(fileBaseMock.Object);

            // Assert
            CollectionAssert.AreEqual(rightByteArray, actualResult);
            stream.Dispose();
        }
Beispiel #3
0
        public void ThrowArgumentNullException_WhenModelCourseFileIsNull()
        {
            //Arrange
            var contextMock = new Mock <ApplicationDbContext>();
            var service     = new UploadCourseService(contextMock.Object);

            //Act & Assert
            Assert.ThrowsException <ArgumentNullException>(() => service.ReadCourseFromJson(null));
        }
        public void ReturnNull_WhenJsonIsNull()
        {
            // Arange
            var contextMock   = new Mock <ApplicationDbContext>();
            var uploadService = new UploadCourseService(contextMock.Object);

            // Act
            var actualResult = uploadService.ImageToByteArray(null);

            // Assert
            Assert.AreEqual(null, actualResult);
        }
Beispiel #5
0
        public void ThrowException_WhenJsonInputStreamIsEmpty()
        {
            //Arrange
            var contextMock  = new Mock <ApplicationDbContext>();
            var services     = new UploadCourseService(contextMock.Object);
            var jsonFileMock = new Mock <HttpPostedFileBase>();

            FileStream stream = new FileStream(@"..\..\Empty.json", FileMode.Open);

            jsonFileMock.Setup(x => x.InputStream).Returns(stream);

            //Act & Assert
            Assert.ThrowsException <ArgumentException>(() => services.ReadCourseFromJson(jsonFileMock.Object));

            stream.Dispose();
        }
Beispiel #6
0
        public void AddImagesToContext_WhenParametersAreCorrect()
        {
            // Arange
            var dbMock = new Mock <ApplicationDbContext>();
            var images = new List <Image>()
            {
                new Image()
            };
            var dbSetImages = new Mock <DbSet <Image> >().SetupData(images);

            dbMock.SetupGet(m => m.Images).Returns(dbSetImages.Object);

            var listOfImages = new List <ImageViewModel>()
            {
                new ImageViewModel()
                {
                    Name = "Image1"
                },
                new ImageViewModel()
                {
                    Name = "Image2"
                },
                new ImageViewModel()
                {
                    Name = "Image3"
                }
            };
            var uploadService = new UploadCourseService(dbMock.Object);

            // Act
            uploadService.SaveSlidesToCourse(It.IsAny <int>(), listOfImages);

            // Assert
            Assert.AreEqual(listOfImages.Count + 1,
                            dbSetImages.Object.ToList().Count);

            for (int i = 1; i < dbSetImages.Object.ToList().Count; i++)
            {
                Assert.AreEqual(dbSetImages.Object.ToList()[i].Name,
                                listOfImages[i - 1].Name);
            }
        }
Beispiel #7
0
        public void SetTheCourseIdProperty_WhenJsonIsValid()
        {
            // Arange
            var dbMock = new Mock <ApplicationDbContext>();
            var stream = new FileStream(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
                                                     @"files\Course.json"), FileMode.Open);

            var courses = new List <Course>()
            {
                new Course()
            };
            var questions = new List <Question>();

            var dbSetCourses   = new Mock <DbSet <Course> >().SetupData(courses);
            var dbSetQuestions = new Mock <DbSet <Question> >().SetupData(questions);

            dbMock.SetupGet(m => m.Courses).Returns(dbSetCourses.Object);
            dbMock.SetupGet(m => m.Questions).Returns(dbSetQuestions.Object);

            var fileBaseMock = new Mock <HttpPostedFileBase>();

            fileBaseMock.Setup(m => m.InputStream).Returns(stream);
            fileBaseMock.Setup(m => m.ContentLength).Returns(469);

            var uploadService = new UploadCourseService(dbMock.Object);

            var expectedId = courses.Count - 1;

            // Act
            uploadService.SaveCourse(fileBaseMock.Object);

            // Assert
            Assert.AreEqual(expectedId, uploadService.GetCourseId());

            stream.Dispose();
        }