public void IsPreyHunter_GoodPreyWrongHunter_ShouldThrow() { //Arrange var fakeTargetsList = new List <TargetElement>() { new TargetElement { Id = 1, HunterPersonId = 56, PreyPersonId = 57, IsHunted = true } }; var fakeDbSetTargetElements = UnitTestsUtil.SetupFakeDbSet(fakeTargetsList.AsQueryable()); var fakeDatabaseContext = A.Fake <DatabaseContext>(); A.CallTo(() => fakeDatabaseContext.TargetElements).Returns(fakeDbSetTargetElements); var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>(); A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()) .Returns(fakeDatabaseContext); var targetElementHelper = new TargetElementHelper(fakeDbContextGeneration); var expectedHunterPersonId = 71; var expectedPreyPersonId = 57; //Act and assert Assert.Throws <ManagerException>(() => targetElementHelper.IsPreyHunted(expectedHunterPersonId, expectedPreyPersonId), StorageErrorMessages.TargetNotFoundError); A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened(); }
public IHttpActionResult IsPreyHunted([FromBody] TargetElement targetElement) { try { return(Json(TargetElementHelper.IsPreyHunted(targetElement.HunterPersonId, targetElement.PreyPersonId))); } catch (ManagerException targetNotFoundException) when(targetNotFoundException.ErrorCode == StorageErrorMessages.TargetNotFoundError) { return(BadRequest(StorageErrorMessages.TargetNotFoundError)); } }
public void IsPreyHunted_ShouldReturnTrue() { var elementToRemove = new TargetElement() { Id = 1, HunterPersonId = 100, PreyPersonId = 101, IsHunted = false }; //Arrange var fakeTargetsList = new List <TargetElement>() { elementToRemove }; var fakeDbSetTargetElements = UnitTestsUtil.SetupFakeDbSet(fakeTargetsList.AsQueryable()); var fakeDatabaseContext = A.Fake <DatabaseContext>(); A.CallTo(() => fakeDatabaseContext.TargetElements).Returns(fakeDbSetTargetElements); var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>(); A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()) .Returns(fakeDatabaseContext); var targetElementHelper = new TargetElementHelper(fakeDbContextGeneration); var expectedHunterPersonId = 100; var expectedPreyPersonId = 101; //Act var result = targetElementHelper.IsPreyHunted(expectedHunterPersonId, expectedPreyPersonId); //Assert A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened(); A.CallTo(() => fakeDbSetTargetElements.Remove(elementToRemove)).MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDatabaseContext.SaveChanges()).MustHaveHappenedOnceExactly(); result.ShouldBe(true); }