public bool IzinVer(IzinTalepDto izin) { if (izin.IzinBaslangic > izin.IzinBitis) { throw new IzinTalepBaslangicBitistenIleriOlamazException("İzin başlangıcı, bitiş tarihinden ileride olamaz"); } return(true); }
public void TestIzinResultClassWithValidObject() { var izin = new IzinTalepDto { Aciklama = "Deneme", IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(3) }; Assert.IsTrue(IzinVer(izin).Success); }
public void TryCatchWithInvalidDate() { var izin = new IzinTalepDto { Aciklama = "Deneme", IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(-33) }; Assert.ThrowsException <IzinTalepBaslangicBitistenIleriOlamazException>(() => IzinVer(izin)); }
public void ExceptionAOPTestWithValidObject() { var izin = new IzinTalepDto { Aciklama = "Deneme", IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(5) }; Assert.IsTrue(IzinVer(izin)); }
public void IzinVer(IzinTalepDto izin) { if (izin.Aciklama is null) { throw new ArgumentNullException(nameof(izin.Aciklama), "Alan boş bırakılamaz"); } if (izin.IzinBaslangic > izin.IzinBitis) { throw new IzinTalepBaslangicBitistenIleriOlamazException("İzin başlangıcı, bitiş tarihinden ileride olamaz"); } }
public void ExceptionAOPTest() { var izin = new IzinTalepDto { Aciklama = "Deneme", IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(-3) }; Assert.IsFalse(IzinVer(izin)); //Assert.ThrowsException<IzinTalepBaslangicBitistenIleriOlamazException>(() => IzinVer(izin)); Bu test geçmeyecek çünkü exception yakalanıyor }
public Result <IzinTalepDto> IzinVerWithGenericResult(IzinTalepDto izin) { if (izin.Aciklama == null) { return(Result <IzinTalepDto> .Fail(izin, "Açıklama boş olamaz")); } if (izin.IzinBaslangic > izin.IzinBitis) { return(Result <IzinTalepDto> .Fail(izin, "İzin başlangıcı, bitiş tarihinden ileride olamaz")); } return(Result <IzinTalepDto> .Ok(izin)); }
public void GenericResultClassTestWithInvalidAciklama() { var izin = new IzinTalepDto { IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(3) }; var izinResult = IzinVerWithGenericResult(izin); Assert.IsTrue(izinResult.Failure); Assert.AreEqual("Açıklama boş olamaz", izinResult.Error); }
public Result IzinVer(IzinTalepDto izin) { if (izin.Aciklama == null) { return(Result.Fail("Açıklama boş olamaz")); } if (izin.IzinBaslangic > izin.IzinBitis) { return(Result.Fail("İzin başlangıcı, bitiş tarihinden ileride olamaz")); } return(Result.Ok()); }
public void IzinTalepDtoTestWithValidObject() { var izin = new IzinTalepDto { Aciklama = "Deneme", IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(3) }; var izinValidator = new IzinTalepDtoValidator(); var validatorResult = izinValidator.Validate(izin); Assert.IsTrue(validatorResult.IsValid); }
public void IsValidInObjectTest() { var izin = new IzinTalepDto { IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(-5) }; var errors = izin.IsValid(); Assert.IsTrue(errors.Any()); Assert.IsTrue(errors.Contains("İzin başlangıç tarihi bitiş tarihinden büyük olamaz")); }
public void FluentValidationWithToString() { var izin = new IzinTalepDto { IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(-22) }; var izinValidator = new IzinTalepDtoValidator(); var validatorResult = izinValidator.Validate(izin); var hataMesaji = validatorResult.ToString(", "); Assert.AreEqual("İzin başlangıcı, bitişten ileri bir tarihte olamaz, Açıklama girmek zorundasınız", hataMesaji); }
public void GenericResultClassTestWithValidObject() { var izin = new IzinTalepDto { Aciklama = "Deneme", IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(3) }; var izinResult = IzinVerWithGenericResult(izin); Assert.IsTrue(izinResult.Success); Assert.AreEqual(izin.Aciklama, izinResult.Value.Aciklama); Assert.AreEqual(null, izinResult.Error); }
public void TryCatchWithInvalidAciklama() { var izin = new IzinTalepDto { IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(4) }; try { IzinVer(izin); } catch (ArgumentNullException exp) { Assert.AreEqual("Alan boş bırakılamaz\r\nParametre adı: Aciklama", exp.Message); } }
public void WithInvalidObject() { var izin = new IzinTalepDto { Aciklama = "deneme", IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(-5) }; ValidationContext vcx = new ValidationContext(izin); var results = new List <ValidationResult>(); bool isValid = Validator.TryValidateObject(izin, vcx, results, true); Assert.IsFalse(isValid); Assert.IsTrue(results.Select(x => x.ErrorMessage).Contains("İzin başlangıç tarihi bitiş tarihinden büyük olamaz")); }
public void IzinTalepDtoTestWithInvalidObject() { var izin = new IzinTalepDto { IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(-5) }; var izinValidator = new IzinTalepDtoValidator(); var validatorResult = izinValidator.Validate(izin); Assert.IsFalse(validatorResult.IsValid); var errorMessages = validatorResult.Errors.Select(x => x.ErrorMessage); Assert.IsFalse(errorMessages.Contains("En fazla bir yıllık izin planlanabilir")); Assert.IsTrue(errorMessages.Contains("Açıklama girmek zorundasınız")); Assert.IsTrue(errorMessages.Contains("İzin başlangıcı, bitişten ileri bir tarihte olamaz")); }
public void WithNullAciklama() { // Aciklama alanı null olduğu için diğer hatalar ignore ediliyor, // Priority = [Required] -> Other attributes -> IValidatableObject Implementation var izin = new IzinTalepDto { IzinBaslangic = DateTime.Now, IzinBitis = DateTime.Now.AddDays(-5) }; ValidationContext vcx = new ValidationContext(izin); var results = new List <ValidationResult>(); bool isValid = Validator.TryValidateObject(izin, vcx, results, true); Assert.IsFalse(isValid); Assert.IsTrue(results.Count == 1); Assert.IsFalse(results.Select(x => x.ErrorMessage).Contains("İzin başlangıç tarihi bitiş tarihinden büyük olamaz")); Assert.IsTrue(results.Select(x => x.ErrorMessage).Contains("Aciklama alanı gereklidir.")); }