public void UpdateScore_WhenIdDoesNotExists_ShouldThrow() { //Arrange var fakeIQueryable = new List <DatabaseImageElement>() { new DatabaseImageElement { Id = 0, DescriptiveSentence = "t", ImageContentUri = "t", ImageName = "t", PersonFirstName = "t", PersonLastName = "t", Score = 0 } }.AsQueryable(); var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeDbContext = A.Fake <DatabaseContext>(); A.CallTo(() => fakeDbContext.DatabaseImageElements).Returns(fakeDbSet); var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>(); A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext); var databaseImageElementHelper = new DatabaseImageElementHelper(fakeDbContextGeneration); //Act and assert Assert.Throws <ManagerException>(() => databaseImageElementHelper.UpdateScore(9), StorageErrorMessages.TargetNotFoundError); A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappenedOnceExactly(); }
public IHttpActionResult UpdateScore(int id) { try { return(Json(DatabaseImageElementHelper.UpdateScore(id))); } catch (ManagerException userNotFoundException) when(userNotFoundException.ErrorCode == StorageErrorMessages.UserDoesNotExistError) { return(BadRequest(StorageErrorMessages.UserDoesNotExistError)); } }
public void UpdateScore_WhenIdExists_ShouldUpdate() { //Arrange var fakeIQueryable = new List <DatabaseImageElement>() { new DatabaseImageElement { Id = 0, DescriptiveSentence = "t", ImageContentUri = "t", ImageName = "t", PersonFirstName = "t", PersonLastName = "t", Score = 0 } }.AsQueryable(); var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeDbContext = A.Fake <DatabaseContext>(); A.CallTo(() => fakeDbContext.DatabaseImageElements).Returns(fakeDbSet); var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>(); A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext); var databaseImageElementHelper = new DatabaseImageElementHelper(fakeDbContextGeneration); //Act var expectedResult = 1; var result = databaseImageElementHelper.UpdateScore(fakeIQueryable.ElementAt(0).Id); //Assert A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDbContext.SaveChanges()).MustHaveHappenedOnceExactly(); result.Score.ShouldBe(expectedResult); }