public void NewTest() { XRay xray = new XRay(); xray.ImageId = 1; xray.UserId = ""; xray.Title = "title"; var imageFile = new Mock <HttpPostedFileBase>(); imageFile.Setup(m => m.FileName).Returns("filename"); xray.ImageFile = imageFile.Object; var dbSetMock = new Mock <DbSet <XRay> >(); var dbContextMock = new Mock <ApplicationDbContext>(); var fakeIdentity = new GenericIdentity("User"); var principal = new GenericPrincipal(fakeIdentity, null); var fakeHttpContext = new Mock <HttpContextBase>(); fakeHttpContext.Setup(t => t.User).Returns(principal); var controllerContext = new Mock <ControllerContext>(); controllerContext.Setup(t => t.HttpContext).Returns(fakeHttpContext.Object); dbSetMock.Setup(m => m.Add(xray)); dbContextMock.Setup(m => m.XRays).Returns(dbSetMock.Object); dbContextMock.Setup(m => m.XRays.Add(xray)); XRayController controller = new XRayController(dbContextMock.Object, new TestPathProvider()); controller.ControllerContext = controllerContext.Object; controller.New(xray); dbContextMock.Verify(m => m.XRays.Add(xray), Times.Once()); }