public void PostLicense_ShoulAddLicense() { var docsTestData = new List <EmployeeFoundationDocument>() { new EmployeeFoundationDocument { Id = 1, EmployeeId = 2 }, new EmployeeFoundationDocument { Id = 2, Deleted = true, EmployeeId = 2 }, new EmployeeFoundationDocument { Id = 3, EmployeeId = 3 } }; var docs = MockHelper.MockDbSet(docsTestData); docs.Setup(d => d.Find(It.IsAny <object>())).Returns <object[]>((keyValues) => { return(docs.Object.SingleOrDefault(product => product.Id == (int)keyValues.Single())); }); docs.Setup(d => d.Add(It.IsAny <EmployeeFoundationDocument>())).Returns <EmployeeFoundationDocument>((contact) => { docsTestData.Add(contact); docs = MockHelper.MockDbSet(docsTestData); return(contact); }); var dbContext = new Mock <IAppDbContext>(); dbContext.Setup(m => m.EmployeeFoundationDocuments).Returns(docs.Object); dbContext.Setup(d => d.Set <EmployeeFoundationDocument>()).Returns(docs.Object); dbContext.Setup(d => d.ExecuteStoredProcedure <int>(It.IsAny <string>(), It.IsAny <object[]>())) .Returns <string, object[]>((query, parameters) => { List <int> list = new List <int>(); if (query.Contains("NewTableId")) { int i = docs.Object.Max(d => d.Id) + 1; list.Add(i); } else { list.Add(0); } return(list); }); var factory = new Mock <IDbContextFactory>(); factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object); EmployeeFoundationDocument license = new EmployeeFoundationDocument { Id = 0, EmployeeId = 3, IssuedBy = "Wow" }; var controller = new EmployeeFoundationDocumentsController(factory.Object); var result = controller.PostEmployeeFoundationDocument(license.ToDTO()) as CreatedAtRouteNegotiatedContentResult <EmployeeFoundationDocumentDTO>; Assert.IsNotNull(result); Assert.AreEqual(4, result.Content.Id); Assert.AreEqual(3, result.Content.EmployeeId); Assert.AreEqual("Wow", result.Content.IssuedBy); }
public IHttpActionResult PostEmployeeFoundationDocument(EmployeeFoundationDocumentDTO employeeFoundationDoc) { if (employeeFoundationDoc == null) { return(BadRequest(ModelState)); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { EmployeeFoundationDocument doc = employeeFoundationDoc.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); doc.Id = doc.NewId(unitOfWork); unitOfWork.EmployeeFoundationDocumentsRepository.Insert(doc); unitOfWork.Save(); EmployeeFoundationDocumentDTO dto = unitOfWork.EmployeeFoundationDocumentsRepository.Get(d => d.Id == doc.Id, includeProperties: "FoundationDocument").FirstOrDefault().ToDTO(); return(CreatedAtRoute("GetEmployeeFoundationDocument", new { id = dto.Id }, dto)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult PutEmployeeFoundationDocument(int id, EmployeeFoundationDocumentDTO employeeFoundationDoc) { if (employeeFoundationDoc == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != employeeFoundationDoc.Id) { return(BadRequest()); } try { EmployeeFoundationDocument doc = employeeFoundationDoc.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); unitOfWork.EmployeeFoundationDocumentsRepository.Update(doc); unitOfWork.Save(); EmployeeFoundationDocumentDTO dto = unitOfWork.EmployeeFoundationDocumentsRepository.Get(d => d.Id == id, includeProperties: "FoundationDocument").FirstOrDefault().ToDTO(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult DeleteEmployeeFoundationDocument(int id) { try { UnitOfWork unitOfWork = new UnitOfWork(factory); EmployeeFoundationDocument document = unitOfWork.EmployeeFoundationDocumentsRepository.Get(d => d.Id == id, includeProperties: "FoundationDocument").FirstOrDefault(); document.Deleted = true; unitOfWork.EmployeeFoundationDocumentsRepository.Update(document); unitOfWork.Save(); EmployeeFoundationDocumentDTO dto = document.ToDTO(); return(Ok(dto)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public void DeleteDocument_ShouldDeleteAndReturnOk() { var docsTestData = new List <EmployeeFoundationDocument>() { new EmployeeFoundationDocument { Id = 1, EmployeeId = 2 }, new EmployeeFoundationDocument { Id = 2, Deleted = true, EmployeeId = 2 }, new EmployeeFoundationDocument { Id = 3, EmployeeId = 3 } }; var docs = MockHelper.MockDbSet(docsTestData); docs.Setup(d => d.Find(It.IsAny <object>())).Returns <object[]>((keyValues) => { return(docs.Object.SingleOrDefault(product => product.Id == (int)keyValues.Single())); }); var dbContext = new Mock <IAppDbContext>(); dbContext.Setup(m => m.EmployeeFoundationDocuments).Returns(docs.Object); dbContext.Setup(d => d.Set <EmployeeFoundationDocument>()).Returns(docs.Object); var factory = new Mock <IDbContextFactory>(); factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object); EmployeeFoundationDocument license = new EmployeeFoundationDocument { Id = 3, EmployeeId = 3, IssuedBy = "Wow" }; var controller = new EmployeeFoundationDocumentsController(factory.Object); var result = controller.DeleteEmployeeFoundationDocument(3) as OkNegotiatedContentResult <EmployeeFoundationDocumentDTO>; Assert.IsNotNull(result); Assert.AreEqual(3, result.Content.Id); Assert.AreEqual(3, result.Content.EmployeeId); }