DinnersController CreateDinnersController() { var testData = FakeDinnerData.CreateTestDinners(); var repository = new FakeDinnerRepository(testData); return(new DinnersController(repository, new CommandServiceClient(), new DinnerReadModel())); }
SearchController CreateSearchController() { var testData = FakeDinnerData.CreateTestDinners(); var repository = new FakeDinnerRepository(testData); return(new SearchController(repository)); }
DinnersController CreateDinnersController() { var testData = FakeDinnerData.CreateTestDinners(); var repository = new FakeDinnerRepository(testData); var nerdIdentity = FakeIdentity.CreateIdentity("SomeUser"); return(new DinnersController(repository, nerdIdentity)); }
public void EditAction_Fails_With_Wrong_Owner() { // Arrange var repo = new FakeDinnerRepository(FakeDinnerData.CreateTestDinners()); var controller = CreateDinnersControllerAs("fred"); var form = FakeDinnerData.CreateDinnerFormCollection(); controller.ValueProvider = form.ToValueProvider(); // Act ViewResult result = (ViewResult)controller.Edit(1, form); // Assert Assert.AreEqual("InvalidOwner", result.ViewName); }
public void EditAction_Saves_Changes_To_Dinner_1() { // Arrange var repo = new FakeDinnerRepository(FakeDinnerData.CreateTestDinners()); var controller = CreateDinnersControllerAs("someuser"); var form = FakeDinnerData.CreateDinnerFormCollection(); form["Description"] = "New, Updated Description"; controller.ValueProvider = form.ToValueProvider(); // Act ActionResult result = (ActionResult)controller.Edit(1, form); ViewResult detailResult = (ViewResult)controller.Details(1); var dinner = detailResult.ViewData.Model as Dinner; // Assert Assert.AreEqual(5, controller.ModelState.Count); Assert.AreEqual("New, Updated Description", dinner.Description); }
public void DinnersController_Edit_Post_Should_Fail_Given_Bad_US_Phone_Number() { // Arrange var controller = CreateDinnersControllerAs("someuser"); var form = FakeDinnerData.CreateDinnerFormCollection(); form["ContactPhone"] = "foo"; //BAD controller.ValueProvider = form.ToValueProvider(); // Act //var result = controller.Edit(1, form); // Assert ////Assert.IsInstanceOfType(result, typeof(ViewResult)); //var viewResult = (ViewResult)result; //Assert.IsFalse(viewResult.ViewData.ModelState.IsValid); //Assert.AreEqual(1, viewResult.ViewData.ModelState.Sum(p => p.Value.Errors.Count), "Expected Errors"); //ModelState m = viewResult.ViewData.ModelState["ContactPhone"]; //Assert.IsTrue(m.Errors.Count == 1); }
public void CreateAction_Should_Fail_Given_Bad_US_Phone_Number() { // Arrange var dinner = FakeDinnerData.CreateDinner(); dinner.ContactPhone = "not a good number."; dinner.HostedBy = "scottgu"; var controller = CreateDinnersControllerAs("scottgu"); // Act ViewResult result = (ViewResult)controller.Create(dinner); // Assert Assert.IsInstanceOf(typeof(ViewResult), result); Assert.IsTrue(result.ViewData.ModelState.IsValid == false); Assert.AreEqual(1, result.ViewData.ModelState.Sum(p => p.Value.Errors.Count), "Expected Errors"); ModelState m = result.ViewData.ModelState["ContactPhone"]; Assert.IsNull(m.Value); Assert.IsTrue(m.Errors.Count == 1); }
public void IndexAction_With_Dinner_Just_Started_Should_Show_Dinner() { // Arrange var testData = FakeDinnerData.CreateTestDinners(); var dinner = FakeDinnerData.CreateDinner(); dinner.EventDate = DateTime.Now.AddHours(-1); dinner.Title = "Dinner which just started"; testData.Add(dinner); var repository = new FakeDinnerRepository(testData); var controller = new DinnersController(repository, new CommandServiceClient(), new DinnerReadModel()); // Act // Get first page ViewResult result = (ViewResult)controller.Index(null, null); PaginatedList <Dinner> list = result.ViewData.Model as PaginatedList <Dinner>; // Assert Assert.AreEqual("Dinner which just started", list.First().Title); }
public void CreateAction_With_New_Dinner_Should_Return_View_And_Repo_Should_Contain_New_Dinner() { // Arrange var mock = new Mock <ControllerContext>(); var nerdIdentity = FakeIdentity.CreateIdentity("SomeUser"); var testData = FakeDinnerData.CreateTestDinners(); var repository = new FakeDinnerRepository(testData); var controller = new DinnersController(repository, nerdIdentity); controller.ControllerContext = mock.Object; mock.SetupGet(p => p.HttpContext.User.Identity).Returns(nerdIdentity); var dinner = FakeDinnerData.CreateDinner(); // Act ActionResult result = (ActionResult)controller.Create(dinner); // Assert Assert.AreEqual(102, repository.All.Count()); Assert.IsInstanceOf <RedirectToRouteResult>(result); }
private static void InitializeLocalDbWithTestData() { Database.SetInitializer <NerdDinners>(new CreateDatabaseIfNotExistsIncludingIndicesAndUDFs()); var dbContext = new NerdDinners(); dbContext.Database.ExecuteSqlCommand("TRUNCATE TABLE [Dinners]"); dbContext.Database.ExecuteSqlCommand("TRUNCATE TABLE [Events]"); var testData = FakeDinnerData.CreateTestDinners(); foreach (var testDinner in testData.Item1) { dbContext.Dinners.Add(testDinner); } foreach (var testEvent in testData.Item2) { dbContext.Events.Add(testEvent); } dbContext.SaveChanges(); }
public void IndexAction_With_Search_Term_Should_Filter() { // Arrange string searchterm = "Dinner we will be searching for (spaghetti)"; var testData = FakeDinnerData.CreateTestDinners(); var dinner = FakeDinnerData.CreateDinner(); dinner.Title = searchterm; testData.Add(dinner); var repository = new FakeDinnerRepository(testData); var controller = new DinnersController(repository, new CommandServiceClient(), new DinnerReadModel()); // Act // Get first page ViewResult result = (ViewResult)controller.Index("etti", null); PaginatedList <Dinner> list = result.ViewData.Model as PaginatedList <Dinner>; // Assert Assert.AreEqual(searchterm, list.First().Title); }
public void CreateAction_With_New_Dinner_Should_Return_View_And_Repo_Should_Contain_New_Dinner() { // Arrange var mock = new Mock <ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("ScottHa"); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true); var testData = FakeDinnerData.CreateTestDinners(); var repository = new FakeDinnerRepository(testData); var controller = new DinnersController(repository); controller.ControllerContext = mock.Object; var dinner = FakeDinnerData.CreateDinner(); // Act ActionResult result = (ActionResult)controller.Create(dinner); // Assert Assert.AreEqual(102, repository.FindAllDinners().Count()); Assert.IsInstanceOf(typeof(RedirectToRouteResult), result); }
public void SetUp() { var testData = FakeDinnerData.CreateTestDinners(); testDinnerRepository = new FakeDinnerRepository(testData); }