コード例 #1
0
        public void Delete()
        {
            var mockRepo = new Mock <IFlagGateway>();

            var controller = new FeatureFlagController(mockRepo.Object);

            controller.Delete(1);

            mockRepo.Verify(s => s.Delete(1));
        }
コード例 #2
0
        public void Save()
        {
            var mockRepo = new Mock <IFlagGateway>();

            var controller = new FeatureFlagController(mockRepo.Object);

            controller.Post("test");

            mockRepo.Verify(s => s.Save("test"));
        }
コード例 #3
0
        public void CannotDeleteAnUsedFlag()
        {
            var sqlException = new SqlExceptionBuilder().WithErrorNumber(SqlExceptions.SqlForeignKeyViolation).WithErrorMessage("Foreign key violation").Build();

            var mockRepo = new Mock <IFlagGateway>();

            mockRepo.Setup(s => s.Delete(1)).Throws(sqlException);

            var controller = new FeatureFlagController(mockRepo.Object);

            var result = (ObjectResult)controller.Delete(1);

            result.StatusCode.ShouldBeEquivalentTo(400);
        }
コード例 #4
0
        public void PreventDuplicates()
        {
            var sqlException = new SqlExceptionBuilder().WithErrorNumber(SqlExceptions.SqlDuplicateExceptionNumber).WithErrorMessage("Duplicates key").Build();

            var mockRepo = new Mock <IFlagGateway>();

            mockRepo.Setup(s => s.Save("test")).Throws(sqlException);

            var controller = new FeatureFlagController(mockRepo.Object);

            var result = (ObjectResult)controller.Post("test");

            result.StatusCode.ShouldBeEquivalentTo(400);
        }
コード例 #5
0
        public void Get()
        {
            var mockRepo = new Mock <IFlagGateway>();
            var flag     = new Flag
            {
                Id_Flag = 1,
                Name    = "Test",
                Status  = false
            };

            mockRepo.Setup(repo => repo.Get()).Returns(new[] { flag });

            var controller = new FeatureFlagController(mockRepo.Object);

            var result = controller.Get();

            result.ShouldAllBeEquivalentTo(new[] { flag });
        }