public void TestAddConf()
        {
            PersonAdres personAdd = new PersonAdres();

            personAdd.imie         = "Kasia";
            personAdd.kodPocztowy  = "80-292";
            personAdd.miasto       = "Gdańsk";
            personAdd.nazwisko     = "Kowalska";
            personAdd.nrBloku      = "56";
            personAdd.ulica        = "Focha";
            personAdd.nrMieszkania = "6";

            Person person = new Person();

            person.imie     = "Kasia";
            person.nazwisko = "Kowalska";

            Adres adres = new Adres();

            adres.miasto  = "Warszawa";
            adres.adresId = 5;

            Mock <IPersonSharingContext> context = new Mock <IPersonSharingContext>();

            context.Setup(x => x.Add(adres)).Returns(adres);
            context.Setup(s => s.Add(person)).Returns(person);
            var controller = new PersonController(context.Object);
            var result     = controller.Add(personAdd) as RedirectToRouteResult;

            Assert.AreEqual("All", result.RouteValues["Action"]);
            Assert.AreEqual("Person", result.RouteValues["Controller"]);
        }
        public void TestAddModelNotValidMoq()
        {
            PersonAdres personAdd = new PersonAdres();

            personAdd.imie         = "Kasia";
            personAdd.kodPocztowy  = "80-292";
            personAdd.miasto       = "Gdańsk";
            personAdd.nazwisko     = "Kowalska";
            personAdd.nrBloku      = "56";
            personAdd.ulica        = "Focha";
            personAdd.nrMieszkania = "6";

            Person person = new Person();

            person.imie     = "Kasia";
            person.nazwisko = "Kowalska";

            Adres adres = new Adres();

            adres.miasto  = "Warszawa";
            adres.adresId = 5;

            Mock <IPersonSharingContext> context = new Mock <IPersonSharingContext>();

            context.Setup(x => x.Add(adres)).Returns(adres);
            context.Setup(s => s.Add(person)).Returns(person);
            var controller = new PersonController(context.Object);

            controller.ViewData.ModelState.AddModelError("imie", "Podaj imię");
            var result = (ViewResult)controller.Add(personAdd);

            Assert.AreEqual("Add", result.ViewName);
        }
        public ActionResult Add(PersonAdres personAdres)
        {
            if (!ModelState.IsValid)
            {
                return(View("Add", personAdres));
            }
            else
            {
                Adres newAdres = new Adres();
                newAdres.kodPocztowy  = personAdres.kodPocztowy;
                newAdres.miasto       = personAdres.miasto;
                newAdres.nrBloku      = personAdres.nrBloku;
                newAdres.nrMieszkania = personAdres.nrMieszkania;
                newAdres.ulica        = personAdres.ulica;
                newAdres.adresId      = 10;
                context.Add <Adres>(newAdres);

                Person newPerson = new Person();
                newPerson.adresId  = newAdres.adresId;
                newPerson.imie     = personAdres.imie;
                newPerson.nazwisko = personAdres.nazwisko;
                newPerson.pesel    = personAdres.pesel;
                context.Add <Person>(newPerson);
                context.SaveChanges();
                return(RedirectToAction("All", "Person"));
            }
        }
        public void TestAddModelNotValid()
        {
            var context = new FakePersonSharingContext();

            context.Persons = new[] {
                new Person {
                    personId = 1, imie = "Kasia", nazwisko = "Kowalska", pesel = "56457866", adresId = 1
                },
                new Person {
                    personId = 2, imie = "Basia", nazwisko = "Kowalska", pesel = "56457867", adresId = 2
                },
                new Person {
                    personId = 3, imie = "Masia", nazwisko = "Kowalska", pesel = "56457868", adresId = 3
                }
            }.AsQueryable();
            context.Adreses = new[]
            {
                new Adres {
                    adresId = 1, miasto = "Gdańsk", ulica = "Góralska", kodPocztowy = "80-292", nrBloku = "54f", nrMieszkania = "6"
                },
                new Adres {
                    adresId = 2, miasto = "Gdańsk", ulica = "Góralska", kodPocztowy = "80-292", nrBloku = "54f", nrMieszkania = "6"
                },
                new Adres {
                    adresId = 3, miasto = "Gdańsk", ulica = "Góralska", kodPocztowy = "80-292", nrBloku = "54f", nrMieszkania = "6"
                }
            }.AsQueryable();
            PersonAdres person = new PersonAdres();

            person.kodPocztowy  = "80-292";
            person.miasto       = "Gdańsk";
            person.nazwisko     = "Kowalska";
            person.pesel        = "6743678908";
            person.nrBloku      = "56";
            person.ulica        = "Focha";
            person.nrMieszkania = "6";

            var controller = new PersonController(context);

            controller.ViewData.ModelState.AddModelError("imie", "Podaj imię");
            var result = (ViewResult)controller.Add(person);

            Assert.AreEqual("Add", result.ViewName);
        }
        public void TestAddConf()
        {
            var context = new FakePersonSharingContext();

            context.Persons = new[] {
                new Person {
                    personId = 1, imie = "Kasia", nazwisko = "Kowalska", pesel = "56457866", adresId = 1
                },
                new Person {
                    personId = 2, imie = "Basia", nazwisko = "Kowalska", pesel = "56457867", adresId = 2
                },
                new Person {
                    personId = 3, imie = "Masia", nazwisko = "Kowalska", pesel = "56457868", adresId = 3
                }
            }.AsQueryable();
            context.Adreses = new[]
            {
                new Adres {
                    adresId = 1, miasto = "Gdańsk", ulica = "Góralska", kodPocztowy = "80-292", nrBloku = "54f", nrMieszkania = "6"
                },
                new Adres {
                    adresId = 2, miasto = "Gdańsk", ulica = "Góralska", kodPocztowy = "80-292", nrBloku = "54f", nrMieszkania = "6"
                },
                new Adres {
                    adresId = 3, miasto = "Gdańsk", ulica = "Góralska", kodPocztowy = "80-292", nrBloku = "54f", nrMieszkania = "6"
                }
            }.AsQueryable();
            PersonAdres person = new PersonAdres();

            person.imie         = "Kasia";
            person.kodPocztowy  = "80-292";
            person.miasto       = "Gdańsk";
            person.nazwisko     = "Kowalska";
            person.nrBloku      = "56";
            person.ulica        = "Focha";
            person.nrMieszkania = "6";

            var controller = new PersonController(context);
            var result     = controller.Add(person) as RedirectToRouteResult;

            Assert.AreEqual("All", result.RouteValues["Action"]);
            Assert.AreEqual("Person", result.RouteValues["Controller"]);
        }