public void Can_Add_Solution() { SetupSolution solution = new SetupSolution() { Name = "ok" }; Service.SaveSetupSolution(solution, null); MockContext.Verify(x => x.SaveChanges(), Times.Once); Assert.AreEqual(MockContext.Object.SetupSolutions.Count(), 3); }
public void Can_Add_Solution_WhitReferences() { SetupSolution solution = new SetupSolution() { Name = "ok" }; Service.SaveSetupSolution(solution, new int[] { 1 } ); Assert.AreEqual(MockContext.Object.SetupSolutions.Count(), 3); MockContext.Verify(x => x.SaveChanges(), Times.Once); Assert.AreEqual(solution.References.Count, 1); Assert.AreEqual(solution.References.First().Id, 1); }
public void Cannot_Get_Valid_NotFound() { SetupSolution singleSolution = new SetupSolution() { Id = 1 }; MockSetupRepository.Mock.Setup(x => x.GetSetupSolution(It.IsAny<int>())).Returns(singleSolution); HttpResponseMessage message = solutionController.Get(1); Assert.AreNotEqual(null, message); Assert.AreEqual(HttpStatusCode.OK, message.StatusCode); MockSetupRepository.Mock.Verify(m => m.GetSetupSolution(1), Times.Once); MockSetupRepository.Mock.Verify(m => m.SaveSetupSolution(It.IsAny<SetupSolution>(), It.IsAny<int[]>()), Times.Never); }
private HttpResponseMessage CreateOrUpdate(SolutionViewModel model) { if (model == null) return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Solution can't be null"); SetupSolution solution = new SetupSolution(); if (ModelState.IsValid) { if (model?.Id > 0) { solution = setupRepository.GetSetupSolution(model.Id); if (solution == null) return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Solution doesn't exist"); } Mapper.Map(model, solution); List<object> ret = new List<object>(); IList<Error> errors = compilerService.Compile(solution, model.References); if (errors.Count > 0) { if (solution.Classes?.Count() > 0) solution.Classes.Clear(); foreach (Error e in errors) { ret.Add(new { Message = e.ToString(), Alert = e.IsWarning ? "warning" : "danger" }); } } setupRepository.SaveSetupSolution(solution, model.References); return Request.CreateResponse(HttpStatusCode.OK, new { compileErrors = ret.ToArray(), solution = Mapper.Map<SolutionViewModel>(solution) }); } else { List<object> ret = new List<object>(); foreach (var m in ModelState.Values) { foreach (var e in m.Errors) { ret.Add(new { Message = e.ErrorMessage, Alert = "danger" }); } } return Request.CreateResponse(HttpStatusCode.BadRequest, ret.ToArray()); } }