public void ReturnDefaultViewWithCorrectViewModel()
        {
            // Arrange
            // arrange controller
            Mock <ApplicationDbContext> mockApplicationDbContext = new Mock <ApplicationDbContext>();

            Mock <SensorDbService> mockSensorDbService = new Mock <SensorDbService>(mockApplicationDbContext.Object);

            Mock <HttpClient>       mockHttpClient       = new Mock <HttpClient>();
            Mock <SensorApiService> mockSensorApiService = new Mock <SensorApiService>(mockHttpClient.Object);

            // arrange publicSensors
            SensorDisplayData sensorDisplayData1 = new SensorDisplayData();
            SensorDisplayData sensorDisplayData2 = new SensorDisplayData();

            List <SensorDisplayData> expected = new List <SensorDisplayData>();

            expected.Add(sensorDisplayData1);
            expected.Add(sensorDisplayData2);

            // arrange mockSensorDbService
            mockSensorDbService.Setup(x => x.ListPublicSensorsFromDB())
            .Returns(expected);

            SensorController sensorController = new SensorController(mockSensorDbService.Object, mockSensorApiService.Object);

            // act and assert
            sensorController.WithCallTo(c => c.ListAllPublicSensors())
            .ShouldRenderDefaultView()
            .WithModel <List <SensorDisplayData> >(actual =>
            {
                Assert.IsNotNull(actual);
                CollectionAssert.AreEquivalent(expected, actual);
            });
        }
Exemplo n.º 2
0
        public void CallsGetSpecificSensorDisplayDataAsyncInSensorDbService_WhenUserIsLoggedIn()
        {
            // Arrange
            // arrange controller
            Mock <ApplicationDbContext> mockApplicationDbContext = new Mock <ApplicationDbContext>();
            Mock <SensorDbService>      mockSensorDbService      = new Mock <SensorDbService>(mockApplicationDbContext.Object);
            Mock <HttpClient>           mockHttpClient           = new Mock <HttpClient>();
            Mock <SensorApiService>     mockSensorApiService     = new Mock <SensorApiService>(mockHttpClient.Object);

            string loggedUser = "******";

            int testSensorId = 7;

            SensorDisplayData expected = new SensorDisplayData
            {
                SensorId = testSensorId,
                UserName = loggedUser
            };

            mockSensorDbService.Setup(x => x.GetSpecificSensorDisplayDataAsync(testSensorId))
            .Returns(Task.Run(() => expected));

            SensorControllerMock sensorController = new SensorControllerMock(loggedUser, mockSensorDbService.Object, mockSensorApiService.Object);

            // act and assert
            sensorController.WithCallTo(c => c.ModifySelectedSensor(testSensorId))
            .ShouldRenderPartialView("SensorPartialViews/_ModifySelectedSensor")
            .WithModel <SensorDisplayData>(actual =>
            {
                Assert.IsNotNull(actual);
                Assert.IsTrue(actual.SensorId == expected.SensorId);
                Assert.IsTrue(actual.UserName == expected.UserName);
            });
        }
Exemplo n.º 3
0
        public async Task ThrowHttpException_WhenUserIsntLoggedIn()
        {
            // Arrange
            // arrange controller
            Mock <ApplicationDbContext> mockApplicationDbContext = new Mock <ApplicationDbContext>();
            Mock <SensorDbService>      mockSensorDbService      = new Mock <SensorDbService>(mockApplicationDbContext.Object);
            Mock <HttpClient>           mockHttpClient           = new Mock <HttpClient>();
            Mock <SensorApiService>     mockSensorApiService     = new Mock <SensorApiService>(mockHttpClient.Object);

            string loggedUser = "******";

            int testSensorId = 7;

            SensorDisplayData testModel = new SensorDisplayData
            {
                SensorId = testSensorId,
                UserName = "******"
            };

            mockSensorDbService.Setup(x => x.GetSpecificSensorDisplayDataAsync(testSensorId))
            .Returns(Task.Run(() => testModel));

            SensorControllerMock sensorController = new SensorControllerMock(loggedUser, mockSensorDbService.Object, mockSensorApiService.Object);

            // act and assert
            await Assert.ThrowsExceptionAsync <HttpException>(() => sensorController.ModifySelectedSensor(testSensorId));
        }
        public virtual void ModifySpecificSesnor(SensorDisplayData model)
        {
            var sensor = dbContext.Sensors.FirstOrDefault(x => x.SensorId == model.SensorId);

            sensor.Name     = model.SensorName;
            sensor.MinValue = model.MinValue;
            sensor.MaxValue = model.MaxValue;
            sensor.IsPublic = model.IsPublic;
            sensor.DescriptionGivenByTheUser = model.DescriptionGivenByTheUser;

            dbContext.SaveChanges();
        }
Exemplo n.º 5
0
        public ActionResult ModifySelectedSensor(SensorDisplayData sensor)
        {
            var user = GetLoggedUsername();

            if (user != sensor.UserName)
            {
                throw new HttpException(403, "Unauthorized Access");
            }

            DBService.ModifySpecificSesnor(sensor);

            return(View("Success"));
        }
        public void ReturnDefaultViewWithCorrectViewModel()
        {
            // Arrange

            //arrange username
            string loggeduser = "******";

            // arrange controller
            Mock <ApplicationDbContext> mockApplicationDbContext = new Mock <ApplicationDbContext>();

            Mock <SensorDbService> mockSensorDbService = new Mock <SensorDbService>(mockApplicationDbContext.Object);

            Mock <HttpClient>       mockHttpClient       = new Mock <HttpClient>();
            Mock <SensorApiService> mockSensorApiService = new Mock <SensorApiService>(mockHttpClient.Object);

            // arrange availableSensorsFromAPI
            SensorDisplayData sensorDisplayData1 = new SensorDisplayData();
            SensorDisplayData sensorDisplayData2 = new SensorDisplayData();

            List <SensorDisplayData> expected = new List <SensorDisplayData>();

            expected.Add(sensorDisplayData1);
            expected.Add(sensorDisplayData2);

            // arrange mockSensorDbService
            mockSensorDbService.Setup(x => x.ListOwnSensors(loggeduser))
            .Returns(expected);

            // arrange actual controller
            SensorControllerMock sensorController = new SensorControllerMock(loggeduser, mockSensorDbService.Object, mockSensorApiService.Object);

            // act and assert
            sensorController.WithCallTo(c => c.ListPersonalSensors())
            .ShouldRenderDefaultView()
            .WithModel <IEnumerable <SensorDisplayData> >(actual =>
            {
                Assert.IsNotNull(actual);
                CollectionAssert.AreEquivalent(expected, actual.ToList());
            });
        }
        public virtual GraphViewModel GetSensorHistory(SensorDisplayData sensor)
        {
            var model = new GraphViewModel();

            model.DisplayData = sensor;
            model.JsonList    = new List <string>();


            if (sensor.MeasurementType != "(true/false)")
            {
                foreach (var sensorHistory in dbContext.Sensors.Find(sensor.SensorId).Measurements.ToArray())
                {
                    model.JsonList.Add(
                        JsonConvert.SerializeObject(new DateValueViewModel(sensorHistory.Date, sensorHistory.Value)));
                }
            }
            else
            {
                foreach (var sensorHistory in dbContext.Sensors.Find(sensor.SensorId).Measurements.ToArray())
                {
                    if (sensorHistory.Value == "true")
                    {
                        model.JsonList.Add(
                            JsonConvert.SerializeObject(
                                new DateValueViewModel(sensorHistory.Date, "1")));
                    }
                    else
                    {
                        model.JsonList.Add(
                            JsonConvert.SerializeObject(
                                new DateValueViewModel(sensorHistory.Date, "0")));
                    }
                }
            }

            return(model);
        }
Exemplo n.º 8
0
        public void CallsModifySpecificSesnorInSensorDbService_WhenUserIsLoggedIn()
        {
            // Arrange
            // arrange controller
            Mock <ApplicationDbContext> mockApplicationDbContext = new Mock <ApplicationDbContext>();
            Mock <SensorDbService>      mockSensorDbService      = new Mock <SensorDbService>(mockApplicationDbContext.Object);
            Mock <HttpClient>           mockHttpClient           = new Mock <HttpClient>();
            Mock <SensorApiService>     mockSensorApiService     = new Mock <SensorApiService>(mockHttpClient.Object);

            string loggedUser = "******";

            SensorDisplayData testSensor = new SensorDisplayData
            {
                UserName = loggedUser
            };

            SensorControllerMock sensorController = new SensorControllerMock(loggedUser, mockSensorDbService.Object, mockSensorApiService.Object);

            //act
            sensorController.ModifySelectedSensor(testSensor);

            // act and assert
            mockSensorDbService.Verify(x => x.ModifySpecificSesnor(testSensor), Times.Once);
        }