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

            Assert.That(redirect.RouteValues["id"], Is.EqualTo(item.Id));
        }
        public void CreateTest_HttpPostWithExctpion()
        {
            var organisation = new ProgrammingLanguage { 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()
        {
            const string id = "3";
            var organisation = new ProgrammingLanguage
            {
                Name = "33",
            };
            _repository.Expect(x => x.Get(id))
                .Return(organisation);

            var result = _controller.Details(id);

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

            Assert.That(viewResult.Model, Is.EqualTo(organisation));
        }
        public void EditTest_HttpPost_WithExcetpion()
        {
            _formCollection["Name"] = "this is my name";
            _formCollection["Description"] = "22";

            string id = "2";
            var organisation = new ProgrammingLanguage { 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 ProgrammingLanguage());
            _repository.VerifyAllExpectations();
            result.AssertWasViewResult(typeof(ProgrammingLanguage));
        }
        public void EditTest_HttpPost()
        {
            _formCollection["Name"] = "this is my name";
            _formCollection["Description"] = "22";

            string id = "2";
            var organisation = new ProgrammingLanguage { 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));
        }