Created
August 27, 2010 22:33
-
-
Save jbrechtel/554316 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/src/OnboardingWebTests/ControllerTests/CompanyControllerTest.cs b/src/OnboardingWebTests/ControllerTests/CompanyControllerTest.cs | |
| index e52a78a..01d9055 100644 | |
| --- a/src/OnboardingWebTests/ControllerTests/CompanyControllerTest.cs | |
| +++ b/src/OnboardingWebTests/ControllerTests/CompanyControllerTest.cs | |
| @@ -1,6 +1,7 @@ | |
| using System.IO; | |
| using System.Linq; | |
| using System.Web.Mvc; | |
| +using Moq; | |
| using NUnit.Framework; | |
| using OnboardingWeb.Controllers; | |
| using OnboardingWeb.Models; | |
| @@ -11,23 +12,13 @@ namespace OnboardingWebTests.ControllerTests | |
| [TestFixture] | |
| public class CompanyControllerTest | |
| { | |
| - private SimpleRepository repository; | |
| - [SetUp] | |
| - public void Setup() | |
| - { | |
| - repository = new SimpleRepository("test", SimpleRepositoryOptions.RunMigrations); | |
| - } | |
| - | |
| - [TearDown] | |
| - public void Teardown() | |
| - { | |
| - File.Delete("data/testdata.sqlite"); | |
| - } | |
| - | |
| [Test] | |
| public void Should_Redirect_To_Home_After_Creating_New_Company() | |
| { | |
| - var controller = new CompanyController(repository); | |
| + var repository = new Mock<IRepository>(); | |
| + repository.Setup(r => r.Add(It.IsAny<Company>())).Returns(null); | |
| + | |
| + var controller = new CompanyController(repository.Object); | |
| var company = new Company { Name = "JCPenny", Email = "[email protected]" }; | |
| var result = (RedirectToRouteResult)controller.Create(company); | |
| Assert.IsInstanceOf(typeof(RedirectToRouteResult), result); | |
| @@ -37,19 +28,25 @@ namespace OnboardingWebTests.ControllerTests | |
| [Test] | |
| public void Should_Create_New_Company() | |
| { | |
| - var controller = new CompanyController(repository); | |
| + var repository = new Mock<IRepository>(); | |
| + repository.Setup(r => r.Add(It.IsAny<Company>())).Returns(null); | |
| + | |
| + var controller = new CompanyController(repository.Object); | |
| var company = new Company { Name = "JCPenny", Email = "[email protected]" }; | |
| controller.Create(company); | |
| - Assert.AreEqual("JCPenny", repository.All<Company>().First().Name); | |
| + repository.Verify(r => r.Add(company)); | |
| } | |
| [Test] | |
| public void Should_Not_Save_Invalid_Company() | |
| { | |
| - var controller = new CompanyController(repository); | |
| + var repository = new Mock<IRepository>(); | |
| + repository.Setup(r => r.Add(It.IsAny<Company>())).Returns(null); | |
| + | |
| + var controller = new CompanyController(repository.Object); | |
| var company = new Company { Name = "", Email = "[email protected]" }; | |
| controller.Create(company); | |
| - Assert.IsEmpty(repository.All<Company>().ToList()); | |
| + Assert.IsEmpty(repository.Object.All<Company>().ToList()); | |
| } | |
| } | |
| } | |
| \ No newline at end of file |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment