public async Task AddToBasket_ReturnsLaptopConfigurationList()
        {
            // Arrange
            var mockRepo = new Mock <ILaptopRepository>();

            mockRepo.Setup(s => s.GetLaptopList())
            .ReturnsAsync(MockDataProvider.GetMockLaptopList());
            mockRepo.Setup(s => s.GetConfigurationList())
            .ReturnsAsync(MockDataProvider.GetMockLaptopConfigurationList());
            mockRepo.Setup(s => s.AddToBasket(It.IsAny <BasketItem>()))
            .ReturnsAsync(MockDataProvider.GetBasketItems());
            var service = new LaptopService(mockRepo.Object);

            // Act
            var result = await service.AddToBasket(It.IsAny <BasketItem>());

            // Assert
            var returnValue = Assert.IsType <BasketViewModel>(result);

            Assert.NotNull(returnValue);
            var basketItems = Assert.IsType <List <BasketItems> >(returnValue.BasketItems);
            var basketItem  = basketItems.FirstOrDefault();

            Assert.NotNull(basketItem);
            Assert.NotNull(basketItem.Laptop);
            Assert.Equal("Dell", basketItem.Laptop.Name);

            var configurations = Assert.IsType <List <LaptopConfiguration> >(basketItem.LaptopConfigurations);
            var configuration  = configurations.FirstOrDefault();

            Assert.NotNull(configuration);
            Assert.Equal((decimal)45.67, configuration.Price);
        }
        public async Task GetLaptopList_ReturnsLaptopList()
        {
            // Arrange
            await using var context = new LaptopShopContext(_options);
            await context.Laptops.AddRangeAsync(MockDataProvider.GetMockLaptopList());

            await context.SaveChangesAsync();

            // Act
            var result = await new LaptopRepository(context).GetLaptopList();

            // Assert
            var returnValue = Assert.IsType <Laptop[]>(result);
            var laptop      = returnValue.FirstOrDefault();

            Assert.NotNull(laptop);
            Assert.Equal("Dell", laptop.Name);
        }
        public async Task GetLaptopList_ReturnsLaptopList()
        {
            // Arrange
            var mockRepo = new Mock <ILaptopRepository>();

            mockRepo.Setup(s => s.GetLaptopList())
            .ReturnsAsync(MockDataProvider.GetMockLaptopList());
            var service = new LaptopService(mockRepo.Object);

            // Act
            var result = await service.GetLaptopList();

            // Assert
            var returnValue = Assert.IsType <Laptop[]>(result);
            var laptop      = returnValue.FirstOrDefault();

            Assert.NotNull(laptop);
            Assert.Equal("Dell", laptop.Name);
        }
Beispiel #4
0
        public async Task LaptopList_ReturnsLaptopList()
        {
            // Arrange
            var mockService = new Mock <ILaptopService>();

            mockService.Setup(s => s.GetLaptopList())
            .ReturnsAsync(MockDataProvider.GetMockLaptopList());
            var controller = new LaptopShopController(mockService.Object);

            // Act
            var result = await controller.LaptopList();

            // Assert
            var okResult    = Assert.IsType <OkObjectResult>(result);
            var returnValue = Assert.IsType <Laptop[]>(okResult.Value);
            var laptop      = returnValue.FirstOrDefault();

            Assert.NotNull(laptop);
            Assert.Equal("Dell", laptop.Name);
        }