public void ResultLog_Delete_Post_Null_Data_Should_Return_Error()
        {
            // Arrange
            var controller = new ResultLogController();

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

            // Assert
            Assert.AreEqual("Error", result.ActionName);
        }
        public void ResultLog_Delete_Post_Invalid_Model_Should_Send_Back_For_Edit()
        {
            // Arrange
            var controller = new ResultLogController();
            var data       = new ResultLogModel();

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

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

            // Assert
            Assert.AreEqual(404, result.StatusCode);
        }
        public void ResultLog_Delete_Post_Empty_Id_Should_Send_Back_For_Edit()
        {
            // Arrange
            var            controller = new ResultLogController();
            ResultLogModel dataEmpty  = new ResultLogModel
            {
                // Make data.Id empty
                ID = ""
            };

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

            // Assert
            Assert.AreEqual("Error", result.ActionName);
        }
        public void ResultLog_Delete_Post_Valid_Should_Delete()
        {
            // Arrange
            var controller = new ResultLogController();

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

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

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

            // Assert
            Assert.IsNull(dataExist);
        }
        public void ResultLog_Delete_Post_Default_Should_Return_Index_Page()
        {
            // Arrange
            var controller = new ResultLogController();

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

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

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

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