public void EnsureIsValid_InvalidModel_ThrowsExceptionWithErrorMessage() { Mock <IValidatable> mockValidatable = new Mock <IValidatable>(); mockValidatable.Setup(m => m.IsValid()).Returns(false); mockValidatable.Setup(m => m.Errors).Returns(new List <Error>() { new Error("All gone wrong", "Technical failure", new Exception("Exceptional")), new Error("All gone more wrong", "Further technical failure", new Exception("Less exceptional")) }); IValidatable mockModel = mockValidatable.Object; try { mockModel.EnsureIsValid(); Assert.Fail("ArgumentException should have been thrown."); } catch (ArgumentException ex) { const string expectedMessage = @"Supplied model is invalid. Error(s): All gone wrong Technical Details: Technical failure Exception Details: System.Exception: Exceptional All gone more wrong Technical Details: Further technical failure Exception Details: System.Exception: Less exceptional"; Assert.AreEqual(expectedMessage, ex.Message); } }
public void EnsureIsValid_ValidModel_ReturnsModel() { Mock <IValidatable> mockValidatable = new Mock <IValidatable>(); mockValidatable.Setup(m => m.IsValid()).Returns(true); IValidatable mockModel = mockValidatable.Object; IValidatable?result = mockModel.EnsureIsValid(); Assert.AreSame(mockModel, result); }
public void EnsureIsValid_InvalidModel_ThrowsExceptionWithSpecifiedParamName() { Mock <IValidatable> mockValidatable = new Mock <IValidatable>(); mockValidatable.Setup(m => m.IsValid()).Returns(false); IValidatable mockModel = mockValidatable.Object; try { mockModel.EnsureIsValid(nameof(mockModel)); Assert.Fail("ArgumentException should have been thrown."); } catch (ArgumentException ex) { Assert.AreEqual(nameof(mockModel), ex.ParamName); } }
public void EnsureIsValid_InvalidModel_ThrowsException() { Mock <IValidatable> mockValidatable = new Mock <IValidatable>(); mockValidatable.Setup(m => m.IsValid()).Returns(false); IValidatable mockModel = mockValidatable.Object; try { mockModel.EnsureIsValid(); Assert.Fail("ArgumentException should have been thrown."); } catch (ArgumentException ex) { Assert.AreEqual("Supplied model is invalid.", ex.Message); } }