private static void CreateContext() { var options = new DbContextOptionsBuilder <ApplicationContextForTest>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; context = new ApplicationContextForTest(options); context.Add(new ObjectMappingForTest() { Id = 1, IntValue = 2, StrValue = "2", SubObject = new SubObjectMappingForTest() { Id = 33, IntValueSub = 33, StrValueSub = "33" } }); context.Add(new ObjectMappingForTest() { Id = 2, IntValue = 22, StrValue = "23", SubObject = new SubObjectMappingForTest() { Id = 34, IntValueSub = 34, StrValueSub = "34" } }); context.Add(new ObjectMappingForTest() { Id = 3, IntValue = 23, StrValue = "23", SubObject = new SubObjectMappingForTest() { Id = 35, IntValueSub = 35, StrValueSub = "35" } }); _uow = new UnitOfWork(context); context.SaveChangesAsync(); }
public void ValidateTest() { var options = new DbContextOptionsBuilder <ApplicationContextForTest>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; ApplicationContextForTest context = new ApplicationContextForTest(options); ValidateItemInContext <ObjectMappingForTest> validateItemInContext = new ValidateItemInContext <ObjectMappingForTest>(context); ObjectMappingForTest item = new ObjectMappingForTest(); //Объекта нет в контексте. ValidateContextResult validateContextResult = validateItemInContext.Validate(item); Assert.AreEqual(ResultStatus.Fail, validateContextResult.Status); Assert.AreEqual("Не пройдена проверка записи \"ObjectMappingForTest\":" + Environment.NewLine + "Не заполнено значение \"IntValue\"." + Environment.NewLine + "Не заполнено значение \"Строка\".", validateContextResult.Message); //Добавили в контекст, но с незаполненными обязательными полями validateContextResult = validateItemInContext.Validate(item); Assert.AreEqual(ResultStatus.Fail, validateContextResult.Status); Assert.AreEqual(1, validateContextResult.Count); Assert.AreEqual(2, validateContextResult[0].Fields.Count); Assert.AreEqual("IntValue", validateContextResult[0].Fields[0].Name); Assert.AreEqual("Строка", validateContextResult[0].Fields[1].Name); //Заполнили обязательные поля, чтобы прошла валидация item.IntValue = 1; item.IntValue2 = 2; validateContextResult = validateItemInContext.Validate(item); Assert.AreEqual(ResultStatus.Success, validateContextResult.Status); Assert.AreEqual(0, validateContextResult.Count); }
private static void CreateContext() { var options = new DbContextOptionsBuilder <ApplicationContextForTest>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; context = new ApplicationContextForTest(options); context.Add(new User() { Id = 1, Email = "*****@*****.**", Password = "******" }); context.Add(new User() { Id = 2, Email = "123l.ru", Password = "******" }); _uow = new UnitOfWork(context); context.SaveChangesAsync(); }
public void ValidateContextTest() { var options = new DbContextOptionsBuilder <ApplicationContextForTest>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; ApplicationContextForTest context = new ApplicationContextForTest(options); ObjectMappingForTest objectMappingForTest = new ObjectMappingForTest(); context.SaveChanges(); context.Set <ObjectMappingForTest>().Add(objectMappingForTest); // var result = Assert.ThrowsException<DbEntityValidationException>(() => context.SaveChanges()); //Assert.IsFalse(validateContextResult.IsSuccess); //Assert.AreEqual(1, validateContextResult.Count); //Assert.AreEqual(2, validateContextResult[0].Fields.Count); //Assert.AreEqual("IntValue", validateContextResult[0].Fields[0].Name); //Assert.AreEqual("Строка", validateContextResult[0].Fields[1].Name); }
private void ReCreateContext() { var options = new DbContextOptionsBuilder <ApplicationContextForTest>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; context = new ApplicationContextForTest(options); repository = new Repository <ObjectMappingForTest>(context); repository.Add(new ObjectMappingForTest() { Id = 1, IntValue = 1, StrValue = "1", IntValue2 = 11 }); repository.Add(new ObjectMappingForTest() { Id = 2, IntValue = 2, StrValue = "2", IntValue2 = 22 }); repository.Add(new ObjectMappingForTest() { Id = 3, IntValue = 3, StrValue = "3", IntValue2 = 33 }); repository.Add(new ObjectMappingForTest() { Id = 4, IntValue = 4, StrValue = "4", IntValue2 = 44 }); repository.Add(new ObjectMappingForTest() { Id = 5, IntValue = 5, StrValue = "5", IntValue2 = 55 }); repository.Add(new ObjectMappingForTest() { Id = 6, IntValue = 6, StrValue = "6", IntValue2 = 66 }); repository.Add(new ObjectMappingForTest() { Id = 7, IntValue = 7, StrValue = "7", IntValue2 = 7 }); context.SaveChanges(); }