public void GetById_ReturnsBugWithSameId() { // Arrange int testId = 5; var data = Mock.Create<IBugLoggerData>(); Mock.Arrange(() => data.Bugs.Find(testId)).Returns(new Bug() { Id = testId }); var controller = new BugsController(data); // Act IHttpActionResult actionResult = controller.Get(testId); var contentResult = actionResult as OkNegotiatedContentResult<BugModel>; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.AreEqual(testId, contentResult.Content.Id); }
private BugsController SetupController(IEnumerable<Bug> bugs) { var data = Mock.Create<IBugLoggerData>(); Mock.Arrange(() => data.Bugs.All()).Returns(() => bugs.AsQueryable()); Mock.Arrange( () => data.Bugs.Find(Arg.IsAny<int>())) .Returns((int id) => bugs.FirstOrDefault(b => b.Id == id)); var controller = new BugsController(data); this.ConfigureController(controller); return controller; }
public void AddBug_WhenBugTextIsValid_ShouldBeAddedToRepoWithLogDateAndStatusPending() { var bugs = new List<Bug>(); var bug = new Bug() { Text = "NEW TEST BUG" }; var data = Mock.Create<IBugLoggerData>(); Mock.Arrange(() => data.Bugs.All()).Returns(() => bugs.AsQueryable()); Mock.Arrange(() => data.Bugs.Add(Arg.IsAny<Bug>())).DoInstead((Bug b) => bugs.Add(b)); bool saveChangesIsCalled = false; Mock.Arrange(() => data.SaveChanges()).DoInstead(() => { saveChangesIsCalled = true; }); var controller = new BugsController(data); this.ConfigureController(controller); //act controller.Post(bug); //assert Assert.AreEqual(data.Bugs.All().Count(), 1); var bugInDb = data.Bugs.All().FirstOrDefault(); Assert.AreEqual(bug.Text, bugInDb.Text); Assert.IsNotNull(bugInDb.LogDate); Assert.AreEqual(BugStatus.Pending, bugInDb.Status); Assert.IsTrue(saveChangesIsCalled); }