Esempio n. 1
0
        public void Index(TestableHomeController sut)
        {
            // Act
            var result = sut.Index() as ViewResult;

            // Assert
            Assert.NotNull(result);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
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
    }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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
    }
Esempio n. 7
0
        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>());
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
 public void SetUp()
 {
     _controller = TestableHomeController.CreateInstance();
 }