Example #1
0
        public async Task Get_Static_Sensor_By_Id_should_return_sensor_by_dto_with_requested_id()
        {
            //Arrange
            var fakeStaticSensor = new StaticSensor {
                Id = 1
            };
            var fakeStaticSensorDbSet = new List <StaticSensor> {
                fakeStaticSensor
            };

            _dataContextMock.Setup(x => x.StaticSensors).ReturnsDbSet(fakeStaticSensorDbSet);
            _dataContextFactoryMock.Setup(x => x.Create()).Returns(_dataContextMock.Object);
            _mapperMock.Setup(x =>
                              x.Map <StaticSensor, StaticSensorDTO>(It.Is <StaticSensor>(it => it.Id == fakeStaticSensor.Id)))
            .Returns(((StaticSensor v) => new StaticSensorDTO {
                Id = v.Id
            }));

            var queries = new ReadingsQueries(_dataContextFactoryMock.Object, _mapperMock.Object);

            //Act
            var result = await queries.GetStaticSensorByIdAsync(fakeStaticSensor.Id);

            //Arrange
            Assert.Equal(fakeStaticSensor.Id, result.Id);
        }
Example #2
0
        public async Task Get_Sensor_By_Id_should_return_requested_sensor_dto()
        {
            //Arrange
            var fakeStaticSensor = new StaticSensor {
                Id = 1
            };
            var fakeStaticSensorDbSet = new List <Sensor> {
                fakeStaticSensor
            };
            var fakeStaticSensorDto = new StaticSensorDTO {
                Id = fakeStaticSensor.Id
            };

            _dataContextMock.Setup(x => x.Sensors).ReturnsDbSet(fakeStaticSensorDbSet);
            _dataContextFactoryMock.Setup(x => x.Create()).Returns(_dataContextMock.Object);
            _mapperMock.Setup(x => x.Map <Sensor, SensorDTO>(fakeStaticSensor))
            .Returns(fakeStaticSensorDto);

            var queries = new ReadingsQueries(_dataContextFactoryMock.Object, _mapperMock.Object);

            //Act
            var result = await queries.GetSensorByIdAsync(fakeStaticSensor.Id);

            //Arrange
            Assert.Equal(fakeStaticSensorDto, result);
        }
Example #3
0
        public async Task Get_Static_Sensor_By_Id_should_return_null_if_database_is_empty()
        {
            //Arrange
            _dataContextMock.Setup(x => x.StaticSensors).ReturnsDbSet(new List <StaticSensor>());
            _dataContextFactoryMock.Setup(x => x.Create()).Returns(_dataContextMock.Object);
            _mapperMock.Setup(x => x.Map <StaticSensor, StaticSensorDTO>(It.Is <StaticSensor>(it => it == null)))
            .Returns((() => null));

            var queries = new ReadingsQueries(_dataContextFactoryMock.Object, _mapperMock.Object);

            //Act
            var result = await queries.GetStaticSensorByIdAsync(1);

            //Arrange
            Assert.Null(result);
        }
Example #4
0
        public async Task Get_All_Async_should_return_not_deleted_sensors_dto()
        {
            //Arrage
            var sensorsDbSet = new List <Sensor>
            {
                new StaticSensor {
                    Id = 1
                },
                new StaticSensor {
                    Id = 2, IsDeleted = true
                },
                new PortableSensor {
                    Id = 3
                },
                new PortableSensor {
                    Id = 4, IsDeleted = true
                }
            };

            var nonDeletedSensorIds = sensorsDbSet.Where(z => !z.IsDeleted).Select(z => z.Id).ToArray();

            _dataContextMock.Setup(x => x.Set <Sensor>()).ReturnsDbSet(sensorsDbSet);
            _dataContextFactoryMock.Setup(x => x.Create()).Returns(_dataContextMock.Object);
            _mapperMock.Setup(x => x.Map <List <Sensor>, List <SensorDTO> >(It.IsAny <List <Sensor> >())).Returns(
                (List <Sensor> sensors) =>
            {
                var staticSensorsDtos = sensors.OfType <StaticSensor>().Select(s => new StaticSensorDTO {
                    Id = s.Id
                });
                var portableSensorsDtos =
                    sensors.OfType <PortableSensor>().Select(s => new PortableSensorDTO {
                    Id = s.Id
                });
                return(new List <SensorDTO>().Concat(staticSensorsDtos).Concat(portableSensorsDtos).ToList());
            });

            var queries = new ReadingsQueries(_dataContextFactoryMock.Object, _mapperMock.Object);

            //Act
            var result = await queries.GetSensorsAsync();

            //Assert
            Assert.True(result.Select(p => p.Id).ToArray().SequenceEqual(nonDeletedSensorIds));
        }
        public async Task Handler_should_throw_exception_if_dependency_is_null(int paramsSetIndex)
        {
            //Arrage
            var testArgs = new[]
            {
                new[] { _sensorCacheHelperMock.Object, (object)null },
                new[] { (object)null, (object)_mapperMock.Object }
            };

            var testArgsCurrentSet = testArgs[paramsSetIndex];

            //Act
            void Act()
            {
                var readingsQueries = new ReadingsQueries((ISensorCacheHelper)testArgsCurrentSet[0], (IMapper)testArgsCurrentSet[1]);
            }

            //Assert
            Assert.Throws <ArgumentNullException>(Act);
        }
        public async Task Get_Static_Sensors_Success()
        {
            //Arrange
            var fakeApiKey = ApiKeyHelper.Generate();
            var fakeStaticSensorReading = new StaticSensorReading {
                Id = 1, StaticSensorId = 1
            };
            var fakeStaticSensor = new StaticSensor
            {
                Id       = 1,
                ApiKey   = fakeApiKey,
                Readings = new List <StaticSensorReading> {
                    fakeStaticSensorReading
                }
            };
            var fakeStaticSensorCacheItem =
                new SensorCacheItemModel(fakeStaticSensor, PollutionLevel.High);
            var fakeStaticSensorReadingsDTO = new StaticSensorReadingDTO {
                Id = 1
            };
            var fakeStaticSensorReadingsDTOList = new List <StaticSensorReadingDTO> {
                fakeStaticSensorReadingsDTO
            };
            var fakeStaticSensorsCacheList = new List <SensorCacheItemModel> {
                fakeStaticSensorCacheItem
            };

            _sensorCacheHelperMock.Setup(x => x.GetStaticSensorsAsync())
            .Returns(Task.FromResult(fakeStaticSensorsCacheList));
            _mapperMock.Setup((x =>
                               x.Map <List <StaticSensorReading>, List <StaticSensorReadingDTO> >(fakeStaticSensor.Readings)))
            .Returns(fakeStaticSensorReadingsDTOList);

            var readingQueries = new ReadingsQueries(_sensorCacheHelperMock.Object, _mapperMock.Object);

            //Act
            var result = await readingQueries.GetStaticSensorsAsync();

            //Assert
            Assert.NotNull(result.First(x => x.Id == fakeStaticSensor.Id && x.Readings == fakeStaticSensorReadingsDTOList));
        }
Example #7
0
        public async Task Handler_should_throw_exception_if_dependency_is_null(int paramsSetIndex)
        {
            //Arrage
            var testArgs = new[]
            {
                new[] { (object)null, _mapperMock.Object },
                new[] { _dataContextFactoryMock.Object, (object)null },
            };

            var testArgsCurrentSet = testArgs[paramsSetIndex];

            //Act
            void Act()
            {
                var queires = new ReadingsQueries((IDataContextFactory <DataContext>)testArgsCurrentSet[0],
                                                  (IMapper)testArgsCurrentSet[1]);
            }

            //Assert
            Assert.Throws <ArgumentNullException>(Act);
        }