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