public void RemoveComponentTypeByTransfertObject_ThrowException_WhenDeletingANonExistantComponentType() { var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using (var memoryCtx = new FacilityContext(options)) { var ComponentTypeToUseInTest1 = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name1En", "Name1Fr", "Name1Nl"), }; var ComponentTypeToUseInTest2 = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name2En", "Name2Fr", "Name2Nl"), }; var ComponentTypeToUseInTest3 = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name3En", "Name3Fr", "Name3Nl"), }; var componentTypeRepository = new ComponentTypeRepository(memoryCtx); componentTypeRepository.Add(ComponentTypeToUseInTest1); componentTypeRepository.Add(ComponentTypeToUseInTest2); memoryCtx.SaveChanges(); Assert.ThrowsException <LoggedException>(() => componentTypeRepository.Remove(ComponentTypeToUseInTest3)); } }
public bool AddReading(AmmoniaController controller) { using var context = new FacilityContext(); var device = context.ModbusDevices.Find(controller.Id); if (device != null) { controller.LastRead.AmmoniaControllerId = controller.Id; context.Entry <ModbusDevice>(device).State = EntityState.Modified; context.AmmoniaControllerReadings.Add(controller.LastRead); } else { return(false); } try { context.SaveChanges(); return(true); } catch (Exception e) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("{0} Save Failed", controller.Identifier) .AppendFormat("Exception: {0}", e.Message).AppendLine(); if (e.InnerException != null) { builder.AppendFormat("Inner Exception: {0}", e.InnerException.Message).AppendLine(); } return(false); } }
public bool AddReading(H2Generator generator) { try { using var context = new FacilityContext(); var device = context.ModbusDevices.Find(generator.Id); if (device != null) { generator.LastRead.GeneratorId = generator.Id; context.GeneratorSystemErrors.Add(generator.LastRead.AllSystemErrors); context.GeneratorSystemWarnings.Add(generator.LastRead.AllSystemWarnings); generator.SystemState = generator.LastRead.SystemState; generator.OperationMode = generator.LastRead.OperationMode; context.Entry(device).State = EntityState.Modified; context.H2GenReadings.Add(generator.LastRead); context.SaveChanges(); //GC.Collect(); return(true); } else { return(false); } } catch (Exception e) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("{0} Save Failed", generator.Identifier) .AppendFormat("Exception: {0}", e.Message).AppendLine(); if (e.InnerException != null) { builder.AppendFormat("Inner Exception: {0}", e.InnerException.Message).AppendLine(); } return(false); } }
public bool AddReading(GenericMonitorBox monitorBox) { try { using var context = new FacilityContext(); var device = context.ModbusDevices.Find(monitorBox.Id); if (device != null) { monitorBox.LastRead.GenericMonitorBoxId = monitorBox.Id; context.GenericBoxAlerts.Add(monitorBox.LastRead.GenericMonitorBoxAlert); context.GenericBoxReadings.Add(monitorBox.LastRead); context.Entry <ModbusDevice>(device).State = EntityState.Modified; context.SaveChanges(); return(true); } else { return(false); } } catch (Exception e) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("{0} Save Failed", monitorBox.Identifier) .AppendFormat("Exception: {0}", e.Message).AppendLine(); if (e.InnerException != null) { builder.AppendFormat("Inner Exception: {0}", e.InnerException.Message).AppendLine(); } return(false); } }
public bool AddReading(GenericMonitorBox monitorBox) { try { using var context = new FacilityContext(); var device = context.ModbusDevices.Find(monitorBox.Id); if (device != null) { monitorBox.LastRead.GenericMonitorBoxId = monitorBox.Id; context.GenericBoxAlerts.Add(monitorBox.LastRead.GenericMonitorBoxAlert); context.GenericBoxReadings.Add(monitorBox.LastRead); context.Entry <ModbusDevice>(device).State = EntityState.Modified; context.SaveChanges(); this._logger.LogInformation("{0} Save Succeeded, In-Memory Read: {1}", monitorBox.Identifier, monitorBox.BoxReadings.Count); return(true); } else { this._logger.LogError("{0} Device Not Found", monitorBox.Identifier); return(false); } } catch (Exception e) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("{0} Save Failed", monitorBox.Identifier) .AppendFormat("Exception: {0}", e.Message).AppendLine(); if (e.InnerException != null) { builder.AppendFormat("Inner Exception: {0}", e.InnerException.Message).AppendLine(); } this._logger.LogError(builder.ToString()); return(false); } }
/// <summary> /// Saving captured image into database. /// </summary> /// <param name="imageBytes"></param> private async Task StoreInDatabaseAsync(byte[] imageBytes) { try { var user = await _userManager.GetUserAsync(User); if (imageBytes != null) { string base64String = Convert.ToBase64String(imageBytes, 0, imageBytes.Length); string imageUrl = string.Concat("data:image/jpg;base64,", base64String); ImageStore imageStore = new ImageStore() { CreateDate = DateTime.Now, ImageBase64String = imageUrl, ImageId = 0, UniqueID = user.Id }; _facilityContext.ImageStore.Add(imageStore); _facilityContext.SaveChanges(); } } catch (Exception e) { _logger.LogInformation(e.Message); } }
public void GetRoomsByFloors_ReturnCorrectNumberOfCorrespondingRooms() { //ARRANGE var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FacilityContext(options); IRoomRepository roomRepository = new RoomRepository(context); IFloorRepository floorRepository = new FloorRepository(context); var floor = new FloorTO { Number = 2 }; var floor2 = new FloorTO { Number = -1 }; var addedFloor1 = floorRepository.Add(floor); var addedFloor2 = floorRepository.Add(floor2); context.SaveChanges(); RoomTO room1 = new RoomTO { Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1 }; RoomTO room2 = new RoomTO { Name = new MultiLanguageString("Room2", "Room2", "Room2"), Floor = addedFloor1 }; RoomTO room3 = new RoomTO { Name = new MultiLanguageString("Room3", "Room3", "Room3"), Floor = addedFloor2 }; roomRepository.Add(room1); roomRepository.Add(room2); roomRepository.Add(room3); context.SaveChanges(); var result1 = roomRepository.GetRoomsByFloor(addedFloor1.Id); var result2 = roomRepository.GetRoomsByFloor(addedFloor2.Id); Assert.IsNotNull(result1); Assert.IsNotNull(result2); Assert.AreEqual(2, result1.Count); Assert.AreEqual(1, result2.Count); }
public void GetAll_AddThreeRooms_ReturnCorrectNumberOfRooms() { //ARRANGE var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FacilityContext(options); IRoomRepository repository = new RoomRepository(context); IFloorRepository floorRepository = new FloorRepository(context); var floor = new FloorTO { Number = 2 }; var floor2 = new FloorTO { Number = -1 }; var addedFloor1 = floorRepository.Add(floor); var addedFloor2 = floorRepository.Add(floor2); context.SaveChanges(); RoomTO room1 = new RoomTO { Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1 }; RoomTO room2 = new RoomTO { Name = new MultiLanguageString("Room2", "Room2", "Room2"), Floor = addedFloor1 }; RoomTO room3 = new RoomTO { Name = new MultiLanguageString("Room3", "Room3", "Room3"), Floor = addedFloor2 }; repository.Add(room1); context.SaveChanges(); repository.Add(room2); context.SaveChanges(); repository.Add(room3); context.SaveChanges(); //ACT var rooms = repository.GetAll(); //ASSERT Assert.AreEqual(3, rooms.Count()); }
public ActionResult Create([Bind("Name,Address,PhoneNumber,Email,FacilityStatusId")] Facility facility) { if (ModelState.IsValid) { _context.Facilities.Add(facility); _context.SaveChanges(); return(RedirectToAction("Index")); } StatusesDropDownList(facility.FacilityStatusId); return(View(facility)); }
public static bool ImportAnalog(MonitorBox box, FacilityContext context) { if (File.Exists(analogFile)) { try { List <AnalogChannel> channels = new List <AnalogChannel>(); var lines = File.ReadAllLines(analogFile); foreach (var line in lines) { var row = line.Split('\t'); bool connected = (row[3] == "TRUE") ? true : false; AnalogChannel channel = new AnalogChannel(row[0], Convert.ToInt32(row[1]), Convert.ToInt32(row[2]), connected, row[4]); channel.Slope = Convert.ToDouble(row[5]); channel.Offset = Convert.ToDouble(row[6]); channel.Resistance = Convert.ToDouble(row[7]); channel.ZeroValue = Convert.ToDouble(row[8]); channel.MaxValue = Convert.ToDouble(row[9]); channel.Alarm1SetPoint = Convert.ToDouble(row[10]); channel.Alarm1Enabled = (row[11] == "TRUE") ? true : false; channel.Alarm1Action = RegisterConverters.GetAction(row[12]); channel.Alarm2SetPoint = Convert.ToDouble(row[13]); channel.Alarm2Enabled = (row[14] == "TRUE") ? true : false; channel.Alarm2Action = RegisterConverters.GetAction(row[15]); channel.Alarm3SetPoint = Convert.ToDouble(row[16]); channel.Alarm3Enabled = (row[17] == "TRUE") ? true : false; channel.Alarm3Action = RegisterConverters.GetAction(row[18]); string sname = row[19]; channel.ValueDivisor = Convert.ToDouble(row[20]); var sensor = context.Categories.OfType <SensorType>().Include(e => e.Registers).FirstOrDefault(e => e.Name == sname); if (sensor != null) { channel.SensorType = sensor; } channel.Device = box; box.Registers.Add(channel); context.Registers.Add(channel); } context.SaveChanges(); return(true); } catch { return(false); } } else { return(false); } }
public void RemoveById_AddANewIncidentThenRemoveIt_ReturnTrue() { //ARRANGE var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FacilityContext(options); IIncidentRepository incidentRepository = new IncidentRepository(context); IRoomRepository roomRepository = new RoomRepository(context); IFloorRepository floorRepository = new FloorRepository(context); IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context); IIssueRepository issueRepository = new IssueRepository(context); //Room(and it's floor) var floor = new FloorTO { Number = 2 }; var addedFloor1 = floorRepository.Add(floor); context.SaveChanges(); RoomTO room = new RoomTO { Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1 }; var addedRoom = roomRepository.Add(room); context.SaveChanges(); //Component var componentType = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name1En", "Name1Fr", "Name1Nl") }; var addedComponentType = componentTypeRepository.Add(componentType); context.SaveChanges(); //Issue var issue = new IssueTO { Description = "prout", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType }; var addedIssue = issueRepository.Add(issue); context.SaveChanges(); //Incident var incident = new IncidentTO { Description = "No coffee", Issue = addedIssue, Status = IncidentStatus.Waiting, SubmitDate = DateTime.Now, UserId = 1, Room = addedRoom }; var addedIncident = incidentRepository.Add(incident); context.SaveChanges(); //ACT var result = incidentRepository.Remove(addedIncident.Id); context.SaveChanges(); //ASSERT Assert.IsTrue(result); }
public void AddIssue_Successfull() { var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using (var memoryCtx = new FacilityContext(options)) { var componentTypeRepository = new ComponentTypeRepository(memoryCtx); var componentType = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name1En", "Name1Fr", "Name1Nl"), }; var addedComponentType1 = componentTypeRepository.Add(componentType); memoryCtx.SaveChanges(); var IssueToUseInTest = new IssueTO { Description = "prout", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType1, }; var issueRepository = new IssueRepository(memoryCtx); issueRepository.Add(IssueToUseInTest); memoryCtx.SaveChanges(); Assert.AreEqual(1, issueRepository.GetAll().Count()); var IssueToAssert = issueRepository.GetById(1); Assert.AreEqual(1, IssueToAssert.Id); Assert.AreEqual("prout", IssueToAssert.Description); } }
public static void AddSensor() { using FacilityContext context = new FacilityContext(); SensorType sensor = new SensorType(); sensor.Name = "H2 Detector-LEL"; sensor.ZeroPoint = 0; sensor.MaxPoint = 100; sensor.Units = "LEL%"; context.Categories.Add(sensor); context.SaveChanges(); Console.WriteLine("Should be done!"); Console.ReadKey(); }
public static void BuildAlertDef() { using FacilityContext context = new FacilityContext(); AlertSetting alarm = new AlertSetting(); alarm.Name = "Alarm"; alarm.Frequency = 1.0; alarm.Notification = NotificationType.EMAIL; alarm.AlertAction = AlertAction.ALARM; AlertSetting warn = new AlertSetting(); warn.Name = "Warning"; warn.Frequency = 4; warn.Notification = NotificationType.EMAIL; warn.AlertAction = AlertAction.WARN; AlertSetting SoftWarning = new AlertSetting(); SoftWarning.Name = "Soft Warning"; SoftWarning.Frequency = 24; SoftWarning.Notification = NotificationType.EMAIL; SoftWarning.AlertAction = AlertAction.SOFTWARN; AlertSetting Maintenance = new AlertSetting(); Maintenance.Name = "Maintenance"; Maintenance.Frequency = 0; Maintenance.AlertAction = AlertAction.MAINTENANCE; Maintenance.Notification = NotificationType.WEBSITE; AlertSetting none = new AlertSetting(); none.Name = "Nothing"; none.Frequency = 0; none.Notification = NotificationType.NONE; none.AlertAction = AlertAction.NOTHING; context.AlertSettings.Add(alarm); context.AlertSettings.Add(warn); context.AlertSettings.Add(Maintenance); context.AlertSettings.Add(SoftWarning); context.AlertSettings.Add(none); context.SaveChanges(); Console.WriteLine("Should be done"); Console.ReadKey(); }
public static void Initialize(FacilityContext context) { if (!context.FacilityStatuses.Any()) { context.FacilityStatuses.AddRange( new FacilityStatus { Name = "Active" }, new FacilityStatus { Name = "InActive" }, new FacilityStatus { Name = "OnHold" } ); context.SaveChanges(); } }
public void GetAllFloors_Successfull() { //ARRANGE var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var memoryCtx = new FacilityContext(options); var FloorToUseInTest = new FloorTO { Id = 1, Number = 0 }; var FloorToUseInTest1 = new FloorTO { Id = 2, Number = -1 }; var FloorToUseInTest2 = new FloorTO { Id = 3, Number = -2 }; var floorRepository = new FloorRepository(memoryCtx); //ACT floorRepository.Add(FloorToUseInTest); floorRepository.Add(FloorToUseInTest1); floorRepository.Add(FloorToUseInTest2); memoryCtx.SaveChanges(); //ASSERT Assert.AreEqual(3, floorRepository.GetAll().Count()); }
static void Main(string[] args) { //BuildAlertDef(); //TestingNewLinq(); //TestWarning(true); //TestWarning(false); //TestAlarm(true); //TestAlarm(false); //TestMaintenance(true); //TestMaintenance(false); //TestRead(); //CreateAmmoniaController(); //ImportModbusGeneric(); //TestAmmoniaRead(); //TestSetCal(true); //TestGetCal(); //TestSendCal(); //ExportH2ReadingParam(); //ExportNH3ReadingParam(); //ExportH2SystemErrorParam(); //ImportModbusH2("Generator 1", "172.21.100.25", 1); //ImportModbusH2("Generator 2", "172.21.100.26", 1); //ImportModbusH2("Generator 3", "172.21.100.27", 1); //TestGeneratorRead("Generator 1"); //TestGeneratorRead("Generator 2"); //TestGeneratorRead("Generator 3"); //AddSensor(); using var context = new FacilityContext(); context.EmailRecipients.Add(new EmailRecipients() { Name = "Andrew Elmendorf", Email = "*****@*****.**" }); context.EmailRecipients.Add(new EmailRecipients() { Name = "Mills Estes", Email = "*****@*****.**" }); context.EmailRecipients.Add(new EmailRecipients() { Name = "Rakesh Jain", Email = "*****@*****.**" }); context.EmailRecipients.Add(new EmailRecipients() { Name = "Brad Murdaugh", Email = "*****@*****.**" }); context.SaveChanges(); Console.WriteLine("Should be done"); Console.ReadKey(); //EmailService emailer = new EmailService(); //MessageBuilder builder = new MessageBuilder(); //builder.StartMessage(); //builder.AppendAlert("Test Analog Channel", "654.25", "ALARM3"); //builder.AppendAlert("Test Analog Channel 2", "255.25", "ALARM3"); //builder.AppendAlert("Test Analog Channel 3", "456.25", "ALARM3"); //builder.AppendAlert("Test Digital Channel 1", "Alarm", "Tripped"); //builder.AppendAlert("Test Digital Channel 2", "Alarm", "Tripped"); //builder.AppendAlert("Test Digital Channel 3", "Alarm", "Tripped"); //builder.AppendStatus("Test Analog Channel", "654.25"); //builder.AppendStatus("Test Analog Channel 2", "255.25"); //builder.AppendStatus("Test Analog Channel 3", "456.25"); //builder.AppendStatus("Test Digital Channel 1", "Alarm"); //builder.AppendStatus("Test Digital Channel 2", "Alarm"); //builder.AppendStatus("Test Digital Channel 3", "Alarm"); //emailer.SendMessage(builder.FinishMessage()); //Console.WriteLine("Should be done!"); //Console.ReadKey(); }
public void GetCommentsByIncidentId_AddMultipleComments_ReturnRelevantComments() { // Arrange var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FacilityContext(options); ICommentRepository commentRepository = new CommentRepository(context); IIncidentRepository incidentRepository = new IncidentRepository(context); IRoomRepository roomRepository = new RoomRepository(context); IFloorRepository floorRepository = new FloorRepository(context); IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context); IIssueRepository issueRepository = new IssueRepository(context); var floor = new FloorTO { Number = 2 }; var addedFloor = floorRepository.Add(floor); context.SaveChanges(); RoomTO room = new RoomTO { Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor }; var addedRoom = roomRepository.Add(room); context.SaveChanges(); var componentType = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL") }; var addedComponentType = componentTypeRepository.Add(componentType); context.SaveChanges(); var issue = new IssueTO { Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType }; var addedIssue = issueRepository.Add(issue); context.SaveChanges(); var incident1 = new IncidentTO { Description = "This thing is broken!", Room = addedRoom, Issue = addedIssue, Status = IncidentStatus.Waiting, SubmitDate = DateTime.Now, UserId = 1, }; var incident2 = new IncidentTO { Description = "This thing is still broken after a week!", Room = addedRoom, Issue = addedIssue, Status = IncidentStatus.Waiting, SubmitDate = DateTime.Now.AddDays(7), UserId = 1, }; var addedIncident1 = incidentRepository.Add(incident1); var addedIncident2 = incidentRepository.Add(incident2); context.SaveChanges(); var comment1 = new CommentTO { Incident = addedIncident1, Message = "I got in touch with the right people, it'll get fixed soon!", SubmitDate = DateTime.Now, UserId = 2 }; var comment2 = new CommentTO { Incident = addedIncident1, Message = "New ETA is Monday morning.", SubmitDate = DateTime.Now.AddDays(1), UserId = 2 }; var comment3 = new CommentTO { Incident = addedIncident2, Message = "It should be fixed very soon, sorry for the inconvenience!", SubmitDate = DateTime.Now.AddDays(8), UserId = 2 }; commentRepository.Add(comment1); commentRepository.Add(comment2); commentRepository.Add(comment3); context.SaveChanges(); // Act var result1 = commentRepository.GetCommentsByIncident(addedIncident1.Id); var result2 = commentRepository.GetCommentsByIncident(addedIncident2.Id); // Assert Assert.IsNotNull(result1); Assert.IsNotNull(result2); Assert.AreEqual(2, result1.Count); Assert.AreEqual(1, result2.Count); }
public void GetAll_AddThreeIncidents_ReturnCorrectNumberOfIncidents() { //ARRANGE var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FacilityContext(options); IIncidentRepository incidentRepository = new IncidentRepository(context); IRoomRepository roomRepository = new RoomRepository(context); IFloorRepository floorRepository = new FloorRepository(context); IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context); IIssueRepository issueRepository = new IssueRepository(context); //Room(and it's floor) var floor = new FloorTO { Number = 2 }; var addedFloor1 = floorRepository.Add(floor); context.SaveChanges(); RoomTO room = new RoomTO { Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1 }; var addedRoom = roomRepository.Add(room); context.SaveChanges(); //Component var componentType = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name1En", "Name1Fr", "Name1Nl") }; var addedComponentType = componentTypeRepository.Add(componentType); context.SaveChanges(); //Issue var issue = new IssueTO { Description = "prout", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType }; var addedIssue = issueRepository.Add(issue); context.SaveChanges(); //Incidents var incident1 = new IncidentTO { Description = "No coffee", Issue = addedIssue, Status = IncidentStatus.Waiting, SubmitDate = DateTime.Now, UserId = 1, Room = addedRoom }; var incident2 = new IncidentTO { Description = "Technical issue", Issue = addedIssue, Status = IncidentStatus.Waiting, SubmitDate = DateTime.Now, UserId = 2, Room = addedRoom }; var incident3 = new IncidentTO { Description = "No sugar", Issue = addedIssue, Status = IncidentStatus.Waiting, SubmitDate = DateTime.Now, UserId = 1, Room = addedRoom }; incidentRepository.Add(incident1); incidentRepository.Add(incident2); incidentRepository.Add(incident3); context.SaveChanges(); //ACT var result = incidentRepository.GetAll(); //ASSERT Assert.IsNotNull(result); Assert.AreEqual(3, result.Count()); }
public void Save() { _dbContext.SaveChanges(true); }
public void RemoveCommentById_AddNewCommentThenRemoveIt_ReturnsTrue() { // Arrange var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FacilityContext(options); ICommentRepository commentRepository = new CommentRepository(context); IIncidentRepository incidentRepository = new IncidentRepository(context); IRoomRepository roomRepository = new RoomRepository(context); IFloorRepository floorRepository = new FloorRepository(context); IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context); IIssueRepository issueRepository = new IssueRepository(context); var floor = new FloorTO { Number = 2 }; var addedFloor = floorRepository.Add(floor); context.SaveChanges(); RoomTO room = new RoomTO { Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor }; var addedRoom = roomRepository.Add(room); context.SaveChanges(); var componentType = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL") }; var addedComponentType = componentTypeRepository.Add(componentType); context.SaveChanges(); var issue = new IssueTO { Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType }; var addedIssue = issueRepository.Add(issue); context.SaveChanges(); var incident = new IncidentTO { Description = "This thing is broken !", Room = addedRoom, Issue = addedIssue, Status = IncidentStatus.Waiting, SubmitDate = DateTime.Now, UserId = 1, }; var addedIncident = incidentRepository.Add(incident); context.SaveChanges(); var comment = new CommentTO { Incident = addedIncident, Message = "I got in touch with the right people, it'll get fixed soon!", SubmitDate = DateTime.Now, UserId = 1 }; var addedComment = commentRepository.Add(comment); context.SaveChanges(); // Act var result = commentRepository.Remove(addedComment.Id); context.SaveChanges(); // Assert Assert.IsTrue(result); Assert.ThrowsException <KeyNotFoundException>(() => commentRepository.GetById(addedComment.Id)); }
public void UpdateComment_AddNewCommentThenUpdateIt_ReturnsUpdatedComment() { // Arrange var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FacilityContext(options); ICommentRepository commentRepository = new CommentRepository(context); IIncidentRepository incidentRepository = new IncidentRepository(context); IRoomRepository roomRepository = new RoomRepository(context); IFloorRepository floorRepository = new FloorRepository(context); IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context); IIssueRepository issueRepository = new IssueRepository(context); var floor = new FloorTO { Number = 2 }; var addedFloor = floorRepository.Add(floor); context.SaveChanges(); RoomTO room = new RoomTO { Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor }; var addedRoom = roomRepository.Add(room); context.SaveChanges(); var componentType = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL") }; var addedComponentType = componentTypeRepository.Add(componentType); context.SaveChanges(); var issue = new IssueTO { Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType }; var addedIssue = issueRepository.Add(issue); context.SaveChanges(); var incident = new IncidentTO { Description = "This thing is broken !", Room = addedRoom, Issue = addedIssue, Status = IncidentStatus.Waiting, SubmitDate = DateTime.Now, UserId = 1, }; var addedIncident = incidentRepository.Add(incident); context.SaveChanges(); var comment = new CommentTO { Incident = addedIncident, Message = "I got in touch with the right people, it'll get fixed soon!", SubmitDate = DateTime.Now, UserId = 1 }; var commentAdded = commentRepository.Add(comment); context.SaveChanges(); // Act var later = DateTime.Now.AddHours(2); commentAdded.Message = "Updated message"; commentAdded.SubmitDate = later; var result = commentRepository.Update(commentAdded); context.SaveChanges(); // Assert Assert.IsNotNull(result); Assert.AreEqual("Updated message", result.Message); Assert.AreEqual(later, result.SubmitDate); }
public void GetAll_AddThreeComments_ReturnsCorrectNumberOfComments() { // Arrange var options = new DbContextOptionsBuilder <FacilityContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FacilityContext(options); ICommentRepository commentRepository = new CommentRepository(context); IIncidentRepository incidentRepository = new IncidentRepository(context); IRoomRepository roomRepository = new RoomRepository(context); IFloorRepository floorRepository = new FloorRepository(context); IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context); IIssueRepository issueRepository = new IssueRepository(context); var floor = new FloorTO { Number = 2 }; var addedFloor = floorRepository.Add(floor); context.SaveChanges(); RoomTO room = new RoomTO { Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor }; var addedRoom = roomRepository.Add(room); context.SaveChanges(); var componentType = new ComponentTypeTO { Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL") }; var addedComponentType = componentTypeRepository.Add(componentType); context.SaveChanges(); var issue = new IssueTO { Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType }; var addedIssue = issueRepository.Add(issue); context.SaveChanges(); var incident = new IncidentTO { Description = "This thing is broken !", Room = addedRoom, Issue = addedIssue, Status = IncidentStatus.Waiting, SubmitDate = DateTime.Now, UserId = 1, }; var addedIncident = incidentRepository.Add(incident); context.SaveChanges(); var comment1 = new CommentTO { Incident = addedIncident, Message = "I got in touch with the right people, it'll get fixed soon!", SubmitDate = DateTime.Now, UserId = 2 }; var comment2 = new CommentTO { Incident = addedIncident, Message = "New ETA is Monday morning.", SubmitDate = DateTime.Now.AddDays(1), UserId = 2 }; var comment3 = new CommentTO { Incident = addedIncident, Message = "Postponed to Tuesday morning.", SubmitDate = DateTime.Now.AddDays(2), UserId = 2 }; commentRepository.Add(comment1); commentRepository.Add(comment2); commentRepository.Add(comment3); context.SaveChanges(); // Act var result = commentRepository.GetAll(); // Assert Assert.IsNotNull(result); Assert.AreEqual(3, result.Count()); }