public void CreateTest_HttpPost()
        {
            var organisation = new Organisation{ Name= "new", Id = "2"};
            _repository.Expect(x => x.Save(organisation));
            var result = _controller.Create(organisation);
            _repository.VerifyAllExpectations();
            var redirect = result.AssertWasRedirectResult("Details");

            Assert.That(redirect.RouteValues["id"], Is.EqualTo(organisation.Id));
        }
 public ActionResult Create(Organisation model)
 {
     try
     {
         _organisationRepository.Save(model);
         return RedirectToAction("Details", new {id = model.Id});
     }
     catch
     {
         return View();
     }
 }
        public void CreateTest_HttpPostWithExctpion()
        {
            var organisation = new Organisation{ Name= "new", Id = "2"};
            _repository.Expect(x => x.Save(organisation))
                .Throw(new Exception());

            // Act
            var result = _controller.Create(organisation);

            // Assert
            _repository.VerifyAllExpectations();
            result.AssertWasViewResult();
        }
        public void DetailsTest()
        {
            var id = "3"    ;
            Organisation organisation = new Organisation
                                            {
                                                Name = "33",
                                            };
            _repository.Expect(x => x.Get(id))
                .Return(organisation);

            var result = _controller.Details(id);

            _repository.VerifyAllExpectations();
            var viewResult = result.AssertWasViewResult(typeof(Organisation));

            Assert.That(viewResult.Model, Is.EqualTo(organisation));
        }
        public void EditTest_HttpPost_WithExcetpion()
        {
            string id = "2";
            var organisation = new Organisation { Name = "new", Id = "2" };

            _repository.Expect(x => x.Get(id))
                .Return(organisation);

            _repository.Expect(x => x.Save(organisation))
                .IgnoreArguments()
                .Throw(new Exception());

            var result = _controller.Edit(id, new Organisation());
            _repository.VerifyAllExpectations();
            result.AssertWasViewResult(typeof(Organisation));
        }
        public void EditTest_HttpPost()
        {
            string id = "2";
            var organisation = new Organisation { Name = "new", Id = "2" };

            _repository.Expect(x => x.Get(id))
                .Return(organisation);

            _repository.Expect(x => x.Save(organisation))
                .IgnoreArguments();

            var result = _controller.Edit(id, null);
            _repository.VerifyAllExpectations();
            var redirect = result.AssertWasRedirectResult("Details");

            Assert.That(redirect.RouteValues["id"], Is.EqualTo(organisation.Id));
        }
        public ActionResult Edit(string id, Organisation model)
        {
            try
            {
                var existing = _organisationRepository.Get(id);

                UpdateModel(existing);

                _organisationRepository.Save(existing);

                return RedirectToAction("Details", new { id});
            }
            catch
            {
                return View(model);
            }
        }