Skip to content

Instantly share code, notes, and snippets.

@jbrechtel
Created August 27, 2010 22:33
Show Gist options
  • Select an option

  • Save jbrechtel/554316 to your computer and use it in GitHub Desktop.

Select an option

Save jbrechtel/554316 to your computer and use it in GitHub Desktop.
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