Ejemplo n.º 1
0
        public async Task NotAddSensor_WhenPassedInvalidMeasureType()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: " NotAddSensor_WhenPassedInvalidMeasureType")
                             .Options;

            var newSensor = new ApiSensorDetailsDTO
            {
                ApiSensorId = Guid.NewGuid().ToString(),
                MinPollingIntervalInSeconds = 10,
                Description = "Some description",
                Tag         = "Some tag",
                MeasureType = "Inexisting measure type"
            };

            var sensorsToAdd = new List <ApiSensorDetailsDTO>()
            {
                newSensor
            };

            // Act and assert
            using (var actContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut = new IcbSensorsService(actContext, measureTypeServiceMock.Object);

                await sut.AddSensors(sensorsToAdd);

                var actualCount = await actContext.IcbSensors.CountAsync();

                Assert.AreEqual(0, actualCount);
            }
        }
Ejemplo n.º 2
0
        public async Task ReturnCorrectSensorsList_WhenCalled()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "ReturnCorrectSensorsCount_WhenCalled")
                             .Options;

            var existingId = Guid.NewGuid().ToString();

            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                await assertContext.IcbSensors.AddRangeAsync(new IcbSensor
                {
                    Id = existingId,
                    PollingInterval = 10,
                    Description     = "Some description",
                    Tag             = "Some tag",
                    MinRangeValue   = 10,
                    MaxRangeValue   = 20,
                    IsDeleted       = false
                });

                await assertContext.SaveChangesAsync();
            }

            // Act && Asert
            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut = new IcbSensorsService(assertContext, measureTypeServiceMock.Object);
                IEnumerable <IcbSensor> result = await sut.GetAll();

                Assert.IsTrue(result.Count() == 1);
            }
        }
Ejemplo n.º 3
0
        public async Task Return_CorrectIcbSensor_WhenFoundId()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "Return_CorrectUser_WhenFoundId")
                             .Options;
            string id = Guid.NewGuid().ToString();

            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                await assertContext.IcbSensors.AddAsync(new IcbSensor
                {
                    Id = id,
                    PollingInterval = 10,
                    Description     = "Some description",
                    Tag             = "Some tag",
                    MinRangeValue   = 10,
                    MaxRangeValue   = 20
                });

                await assertContext.SaveChangesAsync();
            }

            // Act && Asert
            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut    = new IcbSensorsService(assertContext, measureTypeServiceMock.Object);
                var result = await sut.GetById(id);

                Assert.IsNotNull(result);
                Assert.IsTrue(id.Equals(result.Id));
            }
        }
Ejemplo n.º 4
0
        public async Task AddCorrectSensor_WhenPassedValidMeasureType()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "AddCorrectSensor_WhenPassedValidMeasureType")
                             .Options;

            var existingmeasureTypeId = Guid.NewGuid().ToString();
            var existingMeasureType   = new MeasureType
            {
                Id                 = existingmeasureTypeId,
                MeasureUnit        = "Existing unit",
                SuitableSensorType = "Some string"
            };

            string newApiSensorId = Guid.NewGuid().ToString();
            int    newApiSensorPollingInterval = 10;
            string newApiSensorDescription     = "Some description";
            string newApiSensorTag             = "Some tag";
            var    newApiSensor = new ApiSensorDetailsDTO
            {
                ApiSensorId = newApiSensorId,
                MinPollingIntervalInSeconds = newApiSensorPollingInterval,
                Description = newApiSensorDescription,
                Tag         = newApiSensorTag,
                MeasureType = "Existing unit"
            };

            var sensorsToAdd = new List <ApiSensorDetailsDTO>()
            {
                newApiSensor
            };

            using (var arrangeContext = new SmartDormitoryContext(contextOptions))
            {
                await arrangeContext.MeasureTypes.AddAsync(existingMeasureType);

                await arrangeContext.SaveChangesAsync();
            }

            // Act and assert
            using (var actContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut = new IcbSensorsService(actContext, measureTypeServiceMock.Object);

                await sut.AddSensors(sensorsToAdd);

                var createdSensorId = actContext
                                      .IcbSensors
                                      .FirstOrDefaultAsync(s => s.Id == newApiSensorId &&
                                                           s.Description == newApiSensorDescription &&
                                                           s.Tag == newApiSensorTag &&
                                                           s.PollingInterval == newApiSensorPollingInterval &&
                                                           s.MeasureTypeId == existingmeasureTypeId);

                Assert.IsNotNull(createdSensorId);
            }
        }
        public async Task ReturnCorrectList_WhenPassedValidParams()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "ReturnCorrectList_WhenPassedValidParams")
                             .Options;

            var existingmeasureTypeId = Guid.NewGuid().ToString();
            var existingMeasureType   = new MeasureType
            {
                Id                 = existingmeasureTypeId,
                MeasureUnit        = "Existing unit",
                SuitableSensorType = "Some string"
            };

            var existingId = Guid.NewGuid().ToString();

            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                await assertContext.MeasureTypes.AddAsync(existingMeasureType);

                await assertContext.IcbSensors.AddRangeAsync(new IcbSensor
                {
                    Id = existingId,
                    PollingInterval = 10,
                    Description     = "Some description",
                    Tag             = "Some tag",
                    MinRangeValue   = 10,
                    MaxRangeValue   = 20,
                    IsDeleted       = false,
                    MeasureTypeId   = existingmeasureTypeId
                },
                                                             new IcbSensor
                {
                    Id = Guid.NewGuid().ToString(),
                    PollingInterval = 10,
                    Description     = "Some description",
                    Tag             = "Some tag",
                    MinRangeValue   = 10,
                    MaxRangeValue   = 20,
                    IsDeleted       = true,
                    MeasureTypeId   = existingmeasureTypeId
                });

                await assertContext.SaveChangesAsync();
            }

            // Act && Asert
            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut    = new IcbSensorsService(assertContext, measureTypeServiceMock.Object);
                var result = await sut.GetAllByMeasureTypeId(measureTypeId : existingmeasureTypeId);

                Assert.IsTrue(result.Count() == 1);
                Assert.IsTrue(result.Any(s => s.Id.Equals(existingId)));
            }
        }
Ejemplo n.º 6
0
        public async Task ThrowArugmentException_WhenPassedInvalidGuid()
        {
            // Arrange
            var contextMock            = new Mock <SmartDormitoryContext>();
            var measureTypeServiceMock = new Mock <IMeasureTypeService>();

            var sut = new IcbSensorsService(contextMock.Object, measureTypeServiceMock.Object);

            // Act & Assert
            await Assert.ThrowsExceptionAsync <ArgumentException>(
                () => sut.GetById("invalidGuid"), "Parameter sensorId is not a valid GUID!");
        }
Ejemplo n.º 7
0
        public async Task ThrowArugmentNullException_WhenPassedNullSensorId()
        {
            // Arrange
            var contextMock            = new Mock <SmartDormitoryContext>();
            var measureTypeServiceMock = new Mock <IMeasureTypeService>();

            var sut = new IcbSensorsService(contextMock.Object, measureTypeServiceMock.Object);

            // Act & Assert
            await Assert.ThrowsExceptionAsync <ArgumentNullException>(
                () => sut.GetById(null), "Parameter sensorId cannot be null!");
        }
        public async Task ThrowArgumentOutOfRangeException_WhenPassedNegativePageSizeValue()
        {
            // Arrange
            var contextMock            = new Mock <SmartDormitoryContext>();
            var measureTypeServiceMock = new Mock <IMeasureTypeService>();

            var sut = new IcbSensorsService(contextMock.Object, measureTypeServiceMock.Object);

            // Act & Assert
            await Assert.ThrowsExceptionAsync <ArgumentOutOfRangeException>(
                () => sut.GetAllByMeasureTypeId(pageSize: -1), "Parameter pageSize must be bigger than 0!");
        }
Ejemplo n.º 9
0
        public async Task AddSensor_WhenPassedValidMeasureType()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "AddSensor_WhenPassedValidMeasureType")
                             .Options;

            var existingmeasureTypeId = Guid.NewGuid().ToString();
            var existingMeasureType   = new MeasureType
            {
                Id                 = existingmeasureTypeId,
                MeasureUnit        = "Existing unit",
                SuitableSensorType = "Some string"
            };

            string newApiSensorId = Guid.NewGuid().ToString();
            var    newApiSensor   = new ApiSensorDetailsDTO
            {
                ApiSensorId = newApiSensorId,
                MinPollingIntervalInSeconds = 10,
                Description = "Some description",
                Tag         = "Some tag",
                MeasureType = "Existing unit"
            };

            var sensorsToAdd = new List <ApiSensorDetailsDTO>()
            {
                newApiSensor
            };

            using (var arrangeContext = new SmartDormitoryContext(contextOptions))
            {
                await arrangeContext.MeasureTypes.AddAsync(existingMeasureType);

                await arrangeContext.SaveChangesAsync();
            }

            // Act and assert
            using (var actContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut = new IcbSensorsService(actContext, measureTypeServiceMock.Object);

                await sut.AddSensors(sensorsToAdd);

                var actualCount = await actContext.IcbSensors.CountAsync();

                Assert.AreEqual(1, actualCount);
            }
        }
Ejemplo n.º 10
0
        public async Task ReturnZero_IfNoSensors()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "ReturnZero_IfNoSensors")
                             .Options;

            // Act && Asert
            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut    = new IcbSensorsService(assertContext, measureTypeServiceMock.Object);
                var result = await sut.TotalCount();

                Assert.AreEqual(0, result);
            }
        }
        public async Task ReturnEmptyList_WhenPassedNullMeasureTypeId()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "ReturnEmptyList_WhenPassedNullMeasureTypeId")
                             .Options;

            // Act && Asert
            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut    = new IcbSensorsService(assertContext, measureTypeServiceMock.Object);
                var result = await sut.GetAllByMeasureTypeId(measureTypeId : null);

                Assert.IsTrue(!result.Any());
            }
        }
Ejemplo n.º 12
0
        public async Task Return_CorrectType_WhenFoundId()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "Return_CorrectType_WhenFoundId")
                             .Options;
            string id = Guid.NewGuid().ToString();

            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                await assertContext.IcbSensors.AddRangeAsync(new IcbSensor
                {
                    Id = id,
                    PollingInterval = 10,
                    Description     = "Some description",
                    Tag             = "Some tag",
                    MinRangeValue   = 10,
                    MaxRangeValue   = 20,
                    IsDeleted       = false,
                },
                                                             new IcbSensor
                {
                    Id = "deletedId",
                    PollingInterval = 10,
                    Description     = "Some description",
                    Tag             = "Some tag",
                    MinRangeValue   = 10,
                    MaxRangeValue   = 20,
                    IsDeleted       = true,
                });

                await assertContext.SaveChangesAsync();
            }

            // Act && Asert
            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut = new IcbSensorsService(assertContext, measureTypeServiceMock.Object);

                var result = await sut.GetById(id);

                Assert.IsInstanceOfType(result, typeof(IcbSensorCreateServiceModel));
            }
        }
Ejemplo n.º 13
0
        public async Task Return_Null_When_Id_Is_Not_Found()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "Return_Null_When_Id_Is_Not_Found")
                             .Options;
            string id = Guid.NewGuid().ToString();;

            // Act && Asert
            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut    = new IcbSensorsService(assertContext, measureTypeServiceMock.Object);
                var result = await sut.GetById(id);

                Assert.IsNull(result);
            }
        }
Ejemplo n.º 14
0
        public async Task ReturnCorrectValue()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "ReturnCorrectValue")
                             .Options;

            using (var actContext = new SmartDormitoryContext(contextOptions))
            {
                await actContext.IcbSensors.AddRangeAsync(new IcbSensor
                {
                    Id = Guid.NewGuid().ToString(),
                    PollingInterval = 10,
                    Description     = "Some description",
                    Tag             = "Some tag",
                    MinRangeValue   = 10,
                    MaxRangeValue   = 20,
                    IsDeleted       = false
                },
                                                          new IcbSensor
                {
                    Id = Guid.NewGuid().ToString(),
                    PollingInterval = 10,
                    Description     = "Some description",
                    Tag             = "Some tag",
                    MinRangeValue   = 10,
                    MaxRangeValue   = 20,
                    IsDeleted       = true
                });

                await actContext.SaveChangesAsync();
            }

            // Act && Asert
            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut    = new IcbSensorsService(assertContext, measureTypeServiceMock.Object);
                var result = await sut.TotalCount();

                Assert.AreEqual(1, result);
            }
        }
        public async Task ReturnEmptyList_WhenNoSensorsFoundByCriteria()
        {
            // Arrange
            contextOptions = new DbContextOptionsBuilder <SmartDormitoryContext>()
                             .UseInMemoryDatabase(databaseName: "ReturnEmptyList_WhenNoSensorsFoundByCriteria")
                             .Options;

            // Act && Asert
            using (var assertContext = new SmartDormitoryContext(contextOptions))
            {
                var measureTypeServiceMock = new Mock <IMeasureTypeService>();
                var sut = new IcbSensorsService(assertContext, measureTypeServiceMock.Object);

                var validGuidId = Guid.NewGuid().ToString();
                var result      = await sut.GetAllByMeasureTypeId(measureTypeId : validGuidId);

                Assert.IsTrue(!result.Any());
            }
        }