예제 #1
0
        public async void CallDeletePhotoWithAValidModel()
        {
            var result = await sut.DeleteConfirmed(It.IsAny <int>());

            fixture.repositoryWrapper.Verify(x => x.Photo.DeletePhoto(It.IsAny <Photo>()), Times.Once);
            fixture.repositoryWrapper.Verify(y => y.SaveAsync(), Times.Once);
            Assert.IsAssignableFrom <RedirectToActionResult>(result);
        }
 public void Test_DeleteConfirmed_Int_Parameter()
 {
     context.Photos = new[] {
         new Photo {
             PhotoID = 1, Title = "Photo1"
         },
         new Photo {
             PhotoID = 2, Title = "Photo2"
         },
         new Photo {
             PhotoID = 3, Title = "Photo3"
         },
         new Photo {
             PhotoID = 4, Title = "Photo4"
         }
     }.AsQueryable();
     controller.DeleteConfirmed(3);
     Assert.AreEqual(3, context.Photos.Count());
 }
예제 #3
0
        public void Photo_Delete_Post_Null_Data_Should_Return_Error()
        {
            // Arrange
            var controller = new PhotoController();

            // Act
            var result = controller.DeleteConfirmed(null) as RedirectToActionResult;

            // Assert
            Assert.AreEqual("Error", result.ActionName);
        }
예제 #4
0
        public void Photo_Delete_Post_Invalid_Model_Should_Send_Back_For_Edit()
        {
            // Arrange
            var controller = new PhotoController();
            var data       = new PhotoModel();

            // Make ModelState Invalid
            controller.ModelState.AddModelError("test", "test");

            // Act
            var result = controller.DeleteConfirmed(data.ID) as NotFoundResult;

            // Assert
            Assert.AreEqual(404, result.StatusCode);
        }
예제 #5
0
        public void Photo_Delete_Post_Empty_Id_Should_Send_Back_For_Edit()
        {
            // Arrange
            var        controller = new PhotoController();
            PhotoModel dataEmpty  = new PhotoModel
            {
                // Make data.Id empty
                ID = ""
            };

            // Act
            var result = controller.DeleteConfirmed(dataEmpty.ID) as RedirectToActionResult;

            // Assert
            Assert.AreEqual("Error", result.ActionName);
        }
예제 #6
0
        public void Photo_Delete_Post_Valid_Should_Delete()
        {
            // Arrange
            var controller = new PhotoController();

            // Get default student
            var data = BiliWeb.Backend.DataSourceBackend.Instance.PhotoBackend.Index().FirstOrDefault();

            // Act
            var result    = controller.DeleteConfirmed(data.ID) as ViewResult;
            var dataExist = BiliWeb.Backend.DataSourceBackend.Instance.PhotoBackend.Read(data.ID);

            // Reset
            BiliWeb.Backend.DataSourceBackend.Instance.Reset();

            // Assert
            Assert.IsNull(dataExist);
        }
예제 #7
0
        public void Photo_Delete_Post_Default_Should_Return_Index_Page()
        {
            // Arrange
            var controller = new PhotoController();

            // Get default student
            var        defaultData = BiliWeb.Backend.DataSourceBackend.Instance.PhotoBackend.Index().FirstOrDefault();
            PhotoModel data        = new PhotoModel(defaultData);

            // Act
            var result = controller.DeleteConfirmed(data.ID) as NotFoundResult;

            // Reset
            BiliWeb.Backend.DataSourceBackend.Instance.Reset();

            // Assert
            Assert.AreEqual(404, result.StatusCode);
        }