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); } }
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); } }
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)); } }
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))); } }
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!"); }
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!"); }
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); } }
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()); } }
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)); } }
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); } }
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()); } }