示例#1
0
        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));
            }
        }
示例#3
0
        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);
        }