public void Index(TestableHomeController sut) { // Act var result = sut.Index() as ViewResult; // Assert Assert.NotNull(result); }
public void Add_File_Test() { var controller = TestableHomeController.Create(_currentUser); var result = controller.AddFile(); controller.ProfileRepo.Setup(repository => repository.GetProfileForUser(It.IsAny <int>())).Returns(_profiles); var addfileModel = result.Model as AddFileModel; Assert.NotNull(addfileModel); Assert.True(addfileModel.Profiles != null && addfileModel.Profiles.Count > 0); }
public void MyMethod_WhenCalled_PartialViewIsReturned() { // Arrange // The magic I need to happen. var controller = new TestableHomeController { UseFakeAttributes = true }; // Act var result = controller.MyMethod() as PartialViewResult; // Assert var model = result.Model; Assert.AreEqual("MyFakeTitle1.0.0.0", model); // currently static, need to verify against a mock }
public async Task Index_returns_all_menu_items_grouped_by_course(TestableHomeController sut, RestaurantDbContext setupDb, MenuItemType[] courses) { // Given await setupDb.MenuItemTypes.AddRangeAsync(courses); await setupDb.SaveChangesAsync(); // When var result = sut.Index(); var model = result .Should().BeAssignableTo <ViewResult>() .Which.Model.Should().BeAssignableTo <Features.OrderCommand>() .Which.Courses.Should().BeEquivalentTo(courses); }
public async Task Ordering_successfully_shows_item_ordered_in_view(TestableHomeController sut, RestaurantDbContext setupDb) { // Given await setupDb.EnsureSeededAsync(); var orderItem = setupDb.MenuItems.First(); // When var result = sut.Order(new OrderBuilder(orderItem).Build()); // Then result .Should().BeAssignableTo <ViewResult>() .Which.Model.Should().BeAssignableTo <OrderCommandResult>() .Which.Ordered.Should().BeEquivalentTo(orderItem); }
public void MyMethod_WhenCalled_PartialViewIsReturned() { // Arrange // The magic I need to happen. Mock <IDependency> dependencyStub = new Mock <IDependency>(); // dependencyStub.Setup(...).Returns(...); var controller = new TestableHomeController(dependencyStub.Object) { UseFakeAttributes = true }; // Act var result = controller.MyMethod() as PartialViewResult; // Assert var model = result.Model; Assert.AreEqual("MyFakeTitle1.0.0.0", model); // currently static, need to verify against a mock }
public async Task Ordering_with_credit_card_payment_through_PaymentGateway([Frozen] PaymentGateway paymentGateway, TestableHomeController sut, RestaurantDbContext setupDb) { // Given await setupDb.EnsureSeededAsync(); var orderItem = setupDb.MenuItems.First(); // When var result = sut.Order(new OrderBuilder(orderItem).WithCreditCard().Build()); // Then paymentGateway.Received().Pay(Arg.Any <CreditCard>(), Arg.Any <int>(), Arg.Any <decimal>()); }
public async Task Ordering_multiple_items_takes_correct_payment_amount([Frozen] PaymentGateway paymentGateway, TestableHomeController sut, RestaurantDbContext context) { // Given await context.EnsureSeededAsync(); var orderItems = context.MenuItems.Take(3).ToList(); var totalPrice = orderItems.Aggregate(0m, (sum, item) => sum + item.Price); // When var result = sut.Order(new OrderBuilder(orderItems).Build()); // Then paymentGateway.Received().Pay(Arg.Any <PaymentProvider>(), Arg.Any <int>(), totalPrice); }
public async Task Ordering_one_item_takes_correct_payment_amount([Frozen] PaymentGateway paymentGateway, TestableHomeController sut, RestaurantDbContext context) { // Given await context.EnsureSeededAsync(); var orderItem = context.MenuItems.First(); // When var result = sut.Order(new OrderBuilder(orderItem).Build()); // Then paymentGateway.Received().Pay(Arg.Any <PaymentProvider>(), Arg.Any <int>(), orderItem.Price); }
public void SetUp() { _controller = TestableHomeController.CreateInstance(); }