public ActionResult <RetroColumn> PostRetroColumn(RetroColumn retroColumn) { Retrospective retrospective = _context.Retrospectives.First(x => x.Id == retroColumn.RetrospectiveId); var decodedId = decoder.DecodeToken(Request != null ? (Request.Headers.ContainsKey("token") ? Request.Headers["token"].ToString() : null) : null); if (retrospective == null && retroColumn != null) { return(NotFound()); } if (decodedId == null || retrospective.RetroUserId != int.Parse(decodedId)) { return(Unauthorized()); } _context.SaveRetroColumn(retroColumn); if (_hubContext.Clients != null) { try { _hubContext.Clients.All.BroadcastMessage(true, retroColumn.RetrospectiveId); } catch (Exception e) { _hubContext.Clients.All.BroadcastMessage(false, retroColumn.RetrospectiveId); } } return(CreatedAtAction("GetRetroColumn", new { id = retroColumn.Id }, retroColumn)); }
public ActionResult <RetroFamily> Delete(int id) { var family = _repo.RetroFamilies.FirstOrDefault(x => x.Id == id); if (family == null) { return(NotFound()); } else { RetroColumn retroColumn = _repo.RetroColumns.FirstOrDefault(x => x.Id == family.RetroColumnId); _repo.RemoveRetroFamily(family); if (_hubContext.Clients != null) { try { _hubContext.Clients.All.BroadcastMessage(true, retroColumn.RetrospectiveId); } catch { _hubContext.Clients.All.BroadcastMessage(false, retroColumn.RetrospectiveId); } } return(family); } }
public ActionResult <RetroCard> DeleteRetroCard(int id) { RetroCard retroCard = _context.RetroCards.FirstOrDefault(r => r.Id == id); if (retroCard == null) { return(NotFound()); } _context.RemoveRetroCard(retroCard); RetroColumn retroColumn = _context.RetroColumns.Single(x => x.Id == retroCard.RetroColumnId); if (_hubContext != null) { try { _hubContext.Clients.All.BroadcastMessage(true, retroColumn.RetrospectiveId); } catch { _hubContext.Clients.All.BroadcastMessage(false, retroColumn.RetrospectiveId); } } return(retroCard); }
public void SaveRetroColumn(RetroColumn retroColumn) { if (retroColumn.Id == 0) { _context.RetroColumns.Add(retroColumn); } else { RetroColumn dbEntry = _context.RetroColumns .FirstOrDefault(c => c.Id == retroColumn.Id); if (dbEntry != null) { dbEntry.RetroCards = retroColumn.RetroCards; dbEntry.Title = retroColumn.Title; dbEntry.RetrospectiveId = retroColumn.RetrospectiveId; foreach (RetroFamily f in retroColumn.RetroFamilies) { this.SaveRetroFamily(f); } } } _context.SaveChanges(); }
public ActionResult <RetroColumn> PutRetroColumn(RetroColumn retroColumn) { _context.SaveRetroColumn(retroColumn); try { _hubContext.Clients.All.BroadcastMessage(true, retroColumn.RetrospectiveId); } catch (Exception e) { _hubContext.Clients.All.BroadcastMessage(false, retroColumn.RetrospectiveId); } return(retroColumn); }
public void Put([FromBody] RetroFamily retroFamily) { _repo.SaveRetroFamily(retroFamily); RetroColumn retroColumn = _repo.RetroColumns.FirstOrDefault(x => x.Id == retroFamily.RetroColumnId); if (_hubContext.Clients != null) { try { _hubContext.Clients.All.BroadcastMessage(true, retroColumn.RetrospectiveId); } catch { _hubContext.Clients.All.BroadcastMessage(false, retroColumn.RetrospectiveId); } } }
public void DeletionOfAColumn() { //Arrange IList <Retrospective> r = new List <Retrospective> { new Retrospective { Id = 0, RetroUserId = 1 } }; _mockRetrospectiveRepo.Setup(x => x.Retrospectives).Returns(r.AsQueryable()); RetroColumn column = new RetroColumn { Id = 0, Title = "Column 1", RetrospectiveId = 0 }; IList <RetroColumn> columns = new List <RetroColumn> { column }; void Action(RetroColumn retroColumn) { columns.Remove(retroColumn); } decoderMock.Setup(x => x.DecodeToken(It.IsAny <string>())).Returns("1"); _mockRetrospectiveRepo.Setup(m => m.RetroColumns).Returns(columns.AsQueryable()); _mockRetrospectiveRepo.Setup(m => m.RemoveRetroColumn(It.IsAny <RetroColumn>())).Callback((Action <RetroColumn>)Action); IRetroRespectiveRepository repo = _mockRetrospectiveRepo.Object; var controller = new RetroColumnsController(repo, _hubContext.Object, decoderMock.Object); //Act controller.DeleteRetroColumn(0); //Assert Assert.True(!columns.Any()); }
public void AdditionOfAColumn() { //Arrange IList <Retrospective> r = new List <Retrospective> { new Retrospective { Id = 0, RetroUserId = 1 } }; _mockRetrospectiveRepo.Setup(x => x.Retrospectives).Returns(r.AsQueryable()); IRetroRespectiveRepository repo = _mockRetrospectiveRepo.Object; var controller = new RetroColumnsController(repo, _hubContext.Object, decoderMock.Object); IList <RetroColumn> columns = new List <RetroColumn>(); void Action(RetroColumn retroColumn) { columns.Add(retroColumn); } decoderMock.Setup(x => x.DecodeToken(It.IsAny <string>())).Returns("1"); _mockRetrospectiveRepo.Setup(m => m.SaveRetroColumn(It.IsAny <RetroColumn>())).Callback((Action <RetroColumn>)Action); //Act controller.PostRetroColumn(new RetroColumn { Id = 2, Title = "Column 3", RetrospectiveId = 0 }); //Assert Assert.True(columns.Any()); RetroColumn createdColumn = columns.FirstOrDefault(r => r.Title.Equals("Column 3")); Assert.NotNull(createdColumn); }
public ActionResult <RetroCard> PostRetroCard(RetroCard retroCard) { _context.SaveRetroCard(retroCard); RetroColumn retroColumn = _context.RetroColumns.Single(x => x.Id == retroCard.RetroColumnId); if (_hubContext.Clients != null) { try { _hubContext.Clients.All.BroadcastMessage(true, retroColumn.RetrospectiveId); } catch { _hubContext.Clients.All.BroadcastMessage(false, retroColumn.RetrospectiveId); } } return(CreatedAtAction("GetRetroCard", new { id = retroCard.Id }, retroCard)); }
public ActionResult <RetroCard> UpdateRetroCard(RetroCard retroCard) { _context.SaveRetroCard(retroCard); RetroColumn retroColumn = _context.RetroColumns.Single(x => x.Id == retroCard.RetroColumnId); if (_hubContext != null) { try { _hubContext.Clients.All.BroadcastMessage(true, retroColumn.RetrospectiveId); } catch { _hubContext.Clients.All.BroadcastMessage(false, retroColumn.RetrospectiveId); } } return(retroCard); }
public ActionResult <RetroFamily> Post([FromBody] RetroFamily retroFamily) { _repo.SaveRetroFamily(retroFamily); RetroColumn retroColumn = _repo.RetroColumns.FirstOrDefault(x => x.Id == retroFamily.RetroColumnId); if (_hubContext.Clients != null) { try { _hubContext.Clients.All.BroadcastMessage(true, retroColumn.RetrospectiveId); } catch (Exception) { _hubContext.Clients.All.BroadcastMessage(false, retroColumn.RetrospectiveId); } } return(retroFamily); }
public ActionResult <RetroColumn> DeleteRetroColumn(int id) { RetroColumn retroColumn = _context.RetroColumns.FirstOrDefault(c => c.Id == id); Retrospective retrospective = _context.Retrospectives.First(x => x.Id == retroColumn.RetrospectiveId); var decodedId = decoder.DecodeToken(Request != null ? (Request.Headers.ContainsKey("token") ? Request.Headers["token"].ToString() : null) : null); if (retrospective == null && retroColumn != null) { return(NotFound()); } if (decodedId == null || retrospective.RetroUserId != int.Parse(decodedId)) { return(Unauthorized()); } _context.RemoveRetroColumn(retroColumn); if (_hubContext.Clients != null) { try { _hubContext.Clients.All.BroadcastMessage(true, retroColumn.RetrospectiveId); } catch (Exception e) { _hubContext.Clients.All.BroadcastMessage(false, retroColumn.RetrospectiveId); } } return(retroColumn); }
public void PostRetrospective_ShouldCreateThreeColumns() { //arrange var controller = new RetrospectivesController(_mockRetrospectiveRepo.Object, _decoderMock.Object, _hubContext.Object); _decoderMock.Setup(x => x.DecodeToken(It.IsAny <string>())).Returns("1"); var retrospective = new Retrospective { Title = "Custom title", Description = "Custom description" }; //act var response = controller.PostRetrospective(retrospective); //assert CreatedAtActionResult result = response.Result as CreatedAtActionResult; Assert.True(result?.Value is Retrospective); if (result.Value is Retrospective retroResult) { Assert.Equal(retrospective.Title, retroResult.Title); Assert.Equal(3, retroResult.RetroColumns.Count); RetroColumn retroColumn = retroResult.RetroColumns.FirstOrDefault(r => r.Title == "To do"); Assert.Equal("To do", retroColumn.Title); retroColumn = retroResult.RetroColumns.FirstOrDefault(r => r.Title == "Doing"); Assert.Equal("Doing", retroColumn.Title); retroColumn = retroResult.RetroColumns.FirstOrDefault(r => r.Title == "Done"); Assert.Equal("Done", retroColumn.Title); } }
public void RemoveRetroColumn(RetroColumn retroColumn) { _context.RetroColumns.Remove(retroColumn); _context.SaveChanges(); }