public async Task AssignRandomTarget_ShouldCallHelper() { //Arrange var expectedPreyId = 2; var expectedHunterId = 10; var dbElementsList = new List <DatabaseImageElement>() { new DatabaseImageElement() { Id = expectedPreyId, DescriptiveSentence = "test", ImageContentUri = "test", ImageName = "test", PersonFirstName = "test", PersonLastName = "test", Score = 1 }, new DatabaseImageElement() { Id = expectedPreyId, DescriptiveSentence = "test", ImageContentUri = "test", ImageName = "test", PersonFirstName = "test", PersonLastName = "test", Score = 1 } }; var fakeTargetElementHelper = A.Fake <ITargetElementHelper>(); A.CallTo(() => fakeTargetElementHelper.AssignRandomTarget(expectedHunterId)).Returns(expectedPreyId); var targetElementController = new TargetElementController() { TargetElementHelper = fakeTargetElementHelper, Request = new HttpRequestMessage() }; //Act var result = targetElementController.AssignRandomTarget(expectedHunterId); //Assert A.CallTo(() => fakeTargetElementHelper.AssignRandomTarget(expectedHunterId)).MustHaveHappenedOnceExactly(); var httpResponse = await result.ExecuteAsync(new CancellationToken()); var jsonContent = await httpResponse.Content.ReadAsStringAsync(); var expectedJson = JsonConvert.SerializeObject(expectedPreyId); jsonContent.ShouldBe(expectedJson); }
public async Task Post_ShouldCallHelper() { //Arrange var expectedId = 1; var expectedHunterPersonId = 10; var expectedPreyPersonId = 11; var expectedIsHunted = false; var expectedTargetElement = new TargetElement() { Id = expectedId, HunterPersonId = expectedHunterPersonId, PreyPersonId = expectedPreyPersonId }; var fakeTargetElementHelper = A.Fake <ITargetElementHelper>(); A.CallTo(() => fakeTargetElementHelper.InsertNewTargetElement(expectedId, expectedHunterPersonId, expectedPreyPersonId, expectedIsHunted)).Returns(expectedTargetElement); var targetElementController = new TargetElementController() { TargetElementHelper = fakeTargetElementHelper, Request = new HttpRequestMessage() }; //Act var result = targetElementController.Post(expectedTargetElement); //Assert A.CallTo(() => fakeTargetElementHelper.InsertNewTargetElement(expectedId, expectedHunterPersonId, expectedPreyPersonId, expectedIsHunted)).MustHaveHappenedOnceExactly(); var httpResponse = await result.ExecuteAsync(new CancellationToken()); var jsonContent = await httpResponse.Content.ReadAsStringAsync(); var expectedJson = JsonConvert.SerializeObject(expectedTargetElement); jsonContent.ShouldBe(expectedJson); }