コード例 #1
0
        public async void Can_post_items()
        {
            using (_context)
            {
                SensorsController controller      = new SensorsController(_context);
                RoomsController   roomsController = new RoomsController(_context);

                var room     = roomsController.GetRoom();
                var RoomList = new List <Room>();

                foreach (Room data1 in room.Result.Value.ToList())
                {
                    RoomList.Add(data1);
                }

                Models.Sensor testdata = new Models.Sensor();
                testdata.servoSetting = "5";
                testdata.roomID       = RoomList[0].roomID;
                await controller.PostSensor(testdata);

                var sensor    = controller.GetSensor();
                var List      = new List <Sensor>();
                int Listcount = 0;
                foreach (var sensor1 in sensor.Result.Value.ToList())
                {
                    List.Add(sensor1);
                    Listcount++;
                }

                Assert.AreEqual(Listcount, List.Count);
                Assert.AreEqual("5", List[Listcount - 1].servoSetting);

                //Delete

                if (List.Count > 0)
                {
                    var item = List[List.Count - 1];

                    await controller.DeleteSensor(item.sensorID);
                }

                sensor = controller.GetSensor();
                List   = new List <Sensor>();

                foreach (var sensor1 in sensor.Result.Value.ToList())
                {
                    List.Add(sensor1);
                }


                Assert.AreEqual(Listcount - 1, List.Count);
            }
        }
コード例 #2
0
ファイル: DataTests.cs プロジェクト: Raolf/Webservice
        public async void Can_post_items()
        {
            using (_context)
            {
                DataController    controller        = new DataController(_context);
                SensorsController sensorsController = new SensorsController(_context);

                // Finding a sensor to atach the data
                var sensors  = sensorsController.GetSensor();
                var List     = new List <Sensor>();
                var sensorID = 0;

                foreach (var data1 in sensors.Result.Value.ToList())
                {
                    List.Add(data1);
                }
                if (List.Count > 0)
                {
                    var item = List[List.Count - 1];
                    sensorID = item.sensorID;
                }

                Models.Data testdata = new Models.Data();
                testdata.sensorID    = sensorID;
                testdata.timestamp   = DateTime.Today;
                testdata.humidity    = 123;
                testdata.CO2         = 123;
                testdata.temperature = 123;

                await controller.PostData(testdata);


                var data         = controller.GetData();
                var DTOList      = new List <DataDTO>();
                int DTOListcount = 0;
                foreach (var data1 in data.Result.Value.ToList())
                {
                    DTOList.Add(data1);
                    DTOListcount++;
                }

                Assert.AreEqual(DTOListcount, DTOList.Count);
                Assert.AreEqual("123", DTOList[DTOList.Count - 1].CO2_value.ToString());

                //Delete

                await controller.DeleteData(sensorID, DateTime.Today);

                data    = controller.GetData();
                DTOList = new List <DataDTO>();

                foreach (var data1 in data.Result.Value.ToList())
                {
                    DTOList.Add(data1);
                }

                Assert.AreEqual(DTOListcount - 1, DTOList.Count);
            }
        }
コード例 #3
0
        public void Can_get_items()
        {
            using (_context)
            {
                SensorsController controller = new SensorsController(_context);

                var sensor = controller.GetSensor();
                var List   = new List <Sensor>();

                foreach (var sensor1 in sensor.Result.Value.ToList())
                {
                    List.Add(sensor1);
                }

                Assert.AreEqual(List.Count, List.Count);
            }
        }
        public void GetSensor_WithValidModelAndInvalidId_Returns_NoContentResult()
        {
            // Arrange
            var sensorServiceMock = new Mock <ISensorService>();

            sensorServiceMock.Setup(service => service
                                    .GetSensorByIdAsync(It.IsAny <int>()))
            .Returns(Task.FromResult(GetNullSensor()));

            var loggerMock = new Mock <ILogger <SensorsController> >();

            var controller = new SensorsController(sensorServiceMock.Object, loggerMock.Object);
            var id         = 2;

            // Act
            var result = controller.GetSensor(id).GetAwaiter().GetResult();

            // Assert
            var noContentResult = Assert.IsType <NoContentResult>(result);
        }
コード例 #5
0
        public async Task Test_GetSensor_WhenResults_Successful()
        {
            _mocksensorDataProvider.Setup(a => a.GetSensor(It.IsAny <int>())).ReturnsAsync(new Sensor()
            {
                SensorId = 1, CreateDt = DateTime.Now, FarmId = 1, State = API.Helpers.SensorState.Dead
            }
                                                                                           );

            _mockmapper.Setup(a => a.Map <SensorDto>(It.IsAny <Sensor>())).Returns(
                new SensorDto()
            {
                SensorId = 1, Farm = "Rich", State = API.Helpers.SensorState.Dead.ToString()
            }
                );

            var result = await sensorsController.GetSensor(1);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(Microsoft.AspNetCore.Mvc.ActionResult <SensorDto>));
        }
コード例 #6
0
        public void GetSensor_WithValidModelAndValidId_Returns_SensorDTO()
        {
            // Arrange
            var sensorServiceMock = new Mock <ISensorService>();

            sensorServiceMock.Setup(service => service
                                    .GetSensorByIdAsync(It.IsAny <int>()))
            .Returns(Task.FromResult(GetSensor()));

            var loggerMock = new Mock <ILogger <SensorsController> >();

            var controller = new SensorsController(sensorServiceMock.Object, loggerMock.Object);
            var id         = 1;

            // Act
            var result = controller.GetSensor(id).GetAwaiter().GetResult();

            // Assert
            var okObjectResult = Assert.IsType <OkObjectResult>(result);

            Assert.IsAssignableFrom <SensorDTO>(okObjectResult.Value);
        }
コード例 #7
0
        public void GetSensor_WithInvalidModel_Returns_BadRequestResult()
        {
            // Arrange
            var sensorServiceMock = new Mock <ISensorService>();

            sensorServiceMock.Setup(service => service
                                    .GetSensorByIdAsync(It.IsAny <int>()))
            .Returns(Task.FromResult(GetSensor()));

            var loggerMock = new Mock <ILogger <SensorsController> >();

            var controller = new SensorsController(sensorServiceMock.Object, loggerMock.Object);

            controller.ModelState.AddModelError("Id", "InvalidId");

            var id = 1;

            // Act
            var result = controller.GetSensor(id).GetAwaiter().GetResult();

            // Assert
            Assert.IsType <BadRequestObjectResult>(result);
        }