public void Get_ThrowsExceptionForUnknownHobbit() { Hobbit testHobbit = null; Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(); mockDataManager.Setup(dm => dm.TryGet(ID, out testHobbit)).Returns(false); HobbitController controller = new HobbitController(mockDataManager.Object); Assert.Throws <HttpResponseException>(() => controller.Get(ID)); }
public void Delete_ThrowsExceptionIfHobbitDoesNotExist() { Hobbit testHobbit = HobbitHelper.CreateHobbit(FIRST_HOBBIT_NAME); Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(MockBehavior.Loose); mockDataManager.Setup(dm => dm.TryGet(ID, out testHobbit)).Returns(false); HobbitController controller = new HobbitController(mockDataManager.Object); Assert.Throws <HttpResponseException>(() => controller.Delete(ID)); }
public void Get_ReturnsHobbitsFromDataManager(IEnumerable <Hobbit> hobbitsArray) { Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(); mockDataManager.Setup(dm => dm.GetAll()).Returns(hobbitsArray); HobbitController controller = new HobbitController(mockDataManager.Object); IEnumerable <Hobbit> hobbits = controller.Get(); Assert.True(hobbitsArray.Equals(hobbits)); }
public void Get_ReturnsSpecifiedHobbitFromDataManager() { Hobbit testHobbit = HobbitHelper.CreateHobbit(FIRST_HOBBIT_NAME, id: ID); Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(); mockDataManager.Setup(dm => dm.TryGet(ID, out testHobbit)).Returns(true); HobbitController controller = new HobbitController(mockDataManager.Object); Hobbit hobbit = controller.Get(ID); Assert.Same(testHobbit, hobbit); }
public void Put_ThrowsExceptionIfHobbitDoesNotMatchFoundHobbit() { long testId = default(long); Hobbit testHobbit = HobbitHelper.CreateHobbit(FIRST_HOBBIT_NAME); Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(MockBehavior.Loose); mockDataManager.Setup(dm => dm.TryGet(testHobbit, out testId)).Returns(true); HobbitController controller = new HobbitController(mockDataManager.Object); Assert.Throws <HttpResponseException>(() => controller.Put(ID, testHobbit)); }
public void Post_ThrowsExceptionIfHobbitAlreadyExists() { long testId; Hobbit testHobbit = HobbitHelper.CreateHobbit(FIRST_HOBBIT_NAME); Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(MockBehavior.Loose); mockDataManager.Setup(dm => dm.TryGet(testHobbit, out testId)).Returns(true); mockDataManager.Setup(dm => dm.Insert(testHobbit)).Returns(testHobbit); HobbitController controller = new HobbitController(mockDataManager.Object); Assert.Throws <HttpResponseException>(() => controller.Post(testHobbit)); }
public void Put_ThrowsExceptionIfDataManagerReturnsNull() { long testId = ID; Hobbit testHobbit = HobbitHelper.CreateHobbit(FIRST_HOBBIT_NAME); Hobbit nullHobbit = null; Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(MockBehavior.Loose); mockDataManager.Setup(dm => dm.TryGet(testHobbit, out testId)).Returns(true); mockDataManager.Setup(dm => dm.Update(testHobbit, testId)).Returns(nullHobbit); HobbitController controller = new HobbitController(mockDataManager.Object); Assert.Throws <HttpResponseException>(() => controller.Put(ID, testHobbit)); }
public void Post_PassesHobbitToDataManager() { long testId; Hobbit testHobbit = HobbitHelper.CreateHobbit(FIRST_HOBBIT_NAME); Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(MockBehavior.Loose); mockDataManager.Setup(dm => dm.TryGet(testHobbit, out testId)).Returns(false); mockDataManager.Setup(dm => dm.Insert(testHobbit)).Returns(testHobbit); HobbitController controller = new HobbitController(mockDataManager.Object); Hobbit hobbit = controller.Post(testHobbit); mockDataManager.Verify(dm => dm.Insert(testHobbit)); }
public void Delete_DeletesSpecifiedHobbit() { long testId = ID; Hobbit testHobbit = HobbitHelper.CreateHobbit(FIRST_HOBBIT_NAME); Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(MockBehavior.Loose); mockDataManager.Setup(dm => dm.TryGet(testId, out testHobbit)).Returns(true); mockDataManager.Setup(dm => dm.Delete(testId)).Returns(true); HobbitController controller = new HobbitController(mockDataManager.Object); controller.Delete(ID); mockDataManager.Verify(dm => dm.Delete(testId), Times.Once()); }
public void Put_UpdatesExistingHobbit() { long testId = ID; Hobbit firstTestHobbit = HobbitHelper.CreateHobbit(FIRST_HOBBIT_NAME); Hobbit secondTestHobbit = HobbitHelper.CreateHobbit(SECOND_HOBBIT_NAME); Mock <IDataManager <Hobbit> > mockDataManager = new Mock <IDataManager <Hobbit> >(MockBehavior.Loose); mockDataManager.Setup(dm => dm.TryGet(firstTestHobbit, out testId)).Returns(true); mockDataManager.Setup(dm => dm.Update(firstTestHobbit, ID)).Returns(secondTestHobbit); HobbitController controller = new HobbitController(mockDataManager.Object); Hobbit updatedHobbit = controller.Put(ID, firstTestHobbit); Assert.Equal(secondTestHobbit, updatedHobbit); }