public void AddGraduation_Post_Test()
        {
            // Act
            var uow       = new UnitOfWorkFakeFactory().Uow.Object;
            var paramUser = new GraduationModel()
            {
                ObtainingDateTime = new DateTime(2010, 9, 1),
                Texts             = new List <TextModel>()
                {
                    new TextModel()
                    {
                        Language = uow.LanguagesRepository.Get().ToList()[0], Value = "Graduation.fr"
                    },
                    new TextModel()
                    {
                        Language = uow.LanguagesRepository.Get().ToList()[1], Value = "Graduation.en"
                    }
                }
            };
            var expected = paramUser.ToDto(uow.LanguagesRepository.Get().ToList());

            expected.Id = uow.GradesRepository.Get().Count() + 1;

            var nbGrades = uow.GradesRepository.Get().ToList().Count;
            var result   = new IntroductionController(uow).AddGraduation(paramUser) as RedirectToRouteResult;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(result.RouteValues["Action"], nameof(IntroductionController.ShowGraduations));
            Assert.AreEqual(nbGrades + 1, uow.GradesRepository.Get().Count());
            AssertExtension.PropertyValuesAreEquals(expected, uow.GradesRepository.Get().Last());
        }
        public static Grade ToDto(this GraduationModel model, List <Language> languages)
        {
            var newGrade = new Grade
            {
                Texts             = model.Texts.ToDto(languages),
                ObtainingDateTime = model.ObtainingDateTime
            };

            return(newGrade);
        }
Beispiel #3
0
 public ActionResult AddGraduation(GraduationModel model)
 {
     if (ModelState.IsValid)
     {
         _uow.GradesRepository.Insert(model.ToDto(_uow.LanguagesRepository.Get().ToList()));
         _uow.Save();
         return(RedirectToAction(nameof(ShowGraduations)));
     }
     return(RedirectToAction(nameof(AddGraduation)));
 }
        public void AddGraduation_Get_Test()
        {
            // Act
            var uow        = new UnitOfWorkFakeFactory().Uow.Object;
            var controller = new IntroductionController(uow);

            var result = controller.AddGraduation() as ViewResult;

            var expected = new GraduationModel()
            {
                Texts = uow.LanguagesRepository.Get().ToList().Select(l => new TextModel()
                {
                    Language = l
                }).ToList()
            };

            // Assert
            Assert.IsNotNull(result);
            AssertExtension.PropertyValuesAreEquals(expected, result.Model);
        }
        public void Should_Transform_GraduationModel_To_Graduation()
        {
            var expected = new Grade()
            {
                Id = 1,
                ObtainingDateTime = new DateTime(2000, 1, 1),
                Texts             = new List <Text>()
                {
                    new Text()
                    {
                        Language = _languages[0], Value = "txt1"
                    },
                    new Text()
                    {
                        Language = _languages[1], Value = "txt2"
                    }
                }
            };

            var act = new GraduationModel()
            {
                ObtainingDateTime = new DateTime(2000, 1, 1),
                Texts             = new List <TextModel>()
                {
                    new TextModel()
                    {
                        Language = _languages[0], Value = "txt1"
                    },
                    new TextModel()
                    {
                        Language = _languages[1], Value = "txt2"
                    }
                }
            };

            Assert.AreEqual(expected.ObtainingDateTime, act.ToDto(_languages).ObtainingDateTime);

            AssertExtension.CompareIEnumerable(expected.Texts, act.ToDto(_languages).Texts,
                                               (x, y) => x.Language == y.Language && x.Value == y.Value);
        }