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();
        }
Пример #4
0
        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);
        }
Пример #5
0
        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();
        }