コード例 #1
0
        public void Index_Returns_View_with_Values()
        {
            var expected_values = new[] { "1", "2", "3" };

            var values_service_mock = new Mock <IValuesServices>();

            values_service_mock
            .Setup(service => service.Get())
            .Returns(expected_values);

            var controller = new WebAPIController(values_service_mock.Object); // "Стаб"

            var result = controller.Index();

            var view_result = Assert.IsType <ViewResult>(result);

            var model = Assert.IsAssignableFrom <IEnumerable <string> >(view_result.Model);

            Assert.Equal(expected_values.Length, model.Count());

            //"Мок"

            values_service_mock.Verify(service => service.Get());
            values_service_mock.VerifyNoOtherCalls();
        }
コード例 #2
0
        public void Get()
        {
            // Arrange
            WebAPIController controller = new WebAPIController();

            // Act
            IEnumerable <string> result = controller.Get();

            // Assert
            Assert.IsNotNull(result);
        }
コード例 #3
0
        public void init()
        {
            //Arrange
            string ip      = "192.168.80.9";
            int    port    = 1074;
            string logfile = "log47.log";

            var rep = new WebAPIManagerRepository(ip, port, logfile);

            controller               = new WebAPIController(rep);
            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();
        }
コード例 #4
0
        public void PostMalformedUrl()
        {
            // Arrange
            WebAPIController controller = new WebAPIController();

            // Act
            controller.Request = new HttpRequestMessage();
            controller.Request.SetConfiguration(new HttpConfiguration());
            var result = controller.Post("asdaf//634dfsdgf//vb.rt34f4tjy");

            // Assert
            Assert.AreEqual(System.Net.HttpStatusCode.BadRequest, result.StatusCode);
        }
コード例 #5
0
        public void PostNullTest()
        {
            // Arrange
            WebAPIController controller = new WebAPIController();

            // Act
            controller.Request = new HttpRequestMessage();
            controller.Request.SetConfiguration(new HttpConfiguration());
            var result = controller.Post("");

            // Assert
            Assert.AreEqual(System.Net.HttpStatusCode.BadRequest, result.StatusCode);
        }
コード例 #6
0
        public void PostHappyPath()
        {
            // Arrange
            WebAPIController controller = new WebAPIController();

            // Act
            controller.Request = new HttpRequestMessage();
            controller.Request.SetConfiguration(new HttpConfiguration());
            var result = controller.Post("http://www.google.com");

            // Assert
            Assert.AreEqual(System.Net.HttpStatusCode.OK, result.StatusCode);
        }
コード例 #7
0
        public void Delete()
        {
            // Arrange
            WebAPIController controller = new WebAPIController();

            controller.Request = new HttpRequestMessage();
            controller.Request.SetConfiguration(new HttpConfiguration());
            var postResult = controller.Post("http://www.google.com");
            var content    = postResult.Content.ReadAsStringAsync().Result.ToString();

            var deleteResult = controller.Delete(content.Replace(@"\", "").Replace("\"", "").Replace(@"/", ""));

            // Assert
            Assert.AreEqual(System.Net.HttpStatusCode.OK, deleteResult.StatusCode);
        }
コード例 #8
0
        public async Task TestGetStockItemsAsync()
        {
            // Arrange
            var dbContext  = DbContextMocker.GetWideWorldImportersDbContext(nameof(TestGetStockItemsAsync));
            var controller = new WebAPIController(null, dbContext);

            // Act
            var response = await controller.GetStockItemsAsync() as ObjectResult;

            var value = response.Value as IPagedResponse <StockItem>;

            dbContext.Dispose();

            // Assert
            Assert.False(value.DidError);
        }
コード例 #9
0
        public void GetById()
        {
            // Arrange
            WebAPIController controller = new WebAPIController();

            // Act
            controller.Request = new HttpRequestMessage();
            controller.Request.SetConfiguration(new HttpConfiguration());
            var postResult = controller.Post("http://www.google.com");
            var content    = postResult.Content.ReadAsStringAsync().Result.ToString();

            // Check for the request just made
            var result = controller.Get(JsonConvert.DeserializeObject <Job>(content).Id);

            // Assert
            Assert.AreEqual(System.Net.HttpStatusCode.OK, result.StatusCode);
        }
コード例 #10
0
        public void Index_Returns_View_with_Values()
        {
            //Arrange
            Mock <IValuesService> valueServiceMock     = new Mock <IValuesService>();
            IEnumerable <string>  expectedStringValues = new[] { "1", "2", "3" };

            valueServiceMock.Setup((x) => x.Get()).Returns(() => expectedStringValues);

            WebAPIController controller = new WebAPIController(valueServiceMock.Object);

            //Act
            var actionResult = controller.Index();

            //Assert
            ViewResult viewResult = Assert.IsType <ViewResult>(actionResult);

            Assert.Equal(expectedStringValues, (viewResult.Model as IEnumerable <string>));
            valueServiceMock.Verify(service => service.Get(), Times.Exactly(1));
            valueServiceMock.VerifyNoOtherCalls();
        }
コード例 #11
0
        public async Task TestPutStockItemAsync()
        {
            // Arrange
            var dbContext  = DbContextMocker.GetWideWorldImportersDbContext(nameof(TestPutStockItemAsync));
            var controller = new WebAPIController(null, dbContext);
            var id         = 12;
            var request    = new PutStockItemsRequest
            {
                StockItemName = "USB food flash drive (Update)",
                SupplierID    = 12,
                ColorID       = 3
            };

            // Act
            var response = await controller.PutStockItemAsync(id, request) as ObjectResult;

            var value = response.Value as IResponse;

            dbContext.Dispose();

            // Assert
            Assert.False(value.DidError);
        }
コード例 #12
0
        public async Task TestPostStockItemAsync()
        {
            // Arrange
            var dbContext  = DbContextMocker.GetWideWorldImportersDbContext(nameof(TestPostStockItemAsync));
            var controller = new WebAPIController(null, dbContext);
            var request    = new PostStockItemsRequest
            {
                StockItemID            = 100,
                StockItemName          = "USB anime flash drive - Goku",
                SupplierID             = 12,
                UnitPackageID          = 7,
                OuterPackageID         = 7,
                LeadTimeDays           = 14,
                QuantityPerOuter       = 1,
                IsChillerStock         = false,
                TaxRate                = 15.000m,
                UnitPrice              = 32.00m,
                RecommendedRetailPrice = 47.84m,
                TypicalWeightPerUnit   = 0.050m,
                CustomFields           = "{ \"CountryOfManufacture\": \"Japan\", \"Tags\": [\"32GB\",\"USB Powered\"] }",
                Tags          = "[\"32GB\",\"USB Powered\"]",
                SearchDetails = "USB anime flash drive - Goku",
                LastEditedBy  = 1,
                ValidFrom     = DateTime.Now,
                ValidTo       = DateTime.Now.AddYears(5)
            };

            // Act
            var response = await controller.PostStockItemAsync(request) as ObjectResult;

            var value = response.Value as ISingleResponse <StockItem>;

            dbContext.Dispose();

            // Assert
            Assert.False(value.DidError);
        }