예제 #1
0
        public async Task Claim_ReturnsOk()
        {
            var userId           = Guid.NewGuid();
            var mockMatchService = new Mock <IMatchService>();

            var controller = new ClaimController(mockMatchService.Object);

            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.NameIdentifier, userId.ToString())
            };
            var identity        = new ClaimsIdentity(claims, "TestAuthType");
            var claimsPrincipal = new ClaimsPrincipal(identity);

            var contextStub = new DefaultHttpContext
            {
                User = claimsPrincipal
            };

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = contextStub
            };

            // Act
            var result = await controller.Claim();

            // Assert
            Assert.NotNull(result);
            Assert.IsType <OkResult>(result);
        }
예제 #2
0
        public void GetReturnsClaimWithSameId()
        {
            // Arrange
            var mockRepository = new Mock <IClaimRepository>();

            mockRepository.Setup(x => x.GetClaimById(42))
            .Returns(new Claim
            {
                ClaimId           = 42,
                ClaimNumber       = "testing",
                ClaimantFirstName = "test",
                ClaimVechicles    = new List <ClaimVechicle>()
                {
                    new ClaimVechicle()
                    {
                        Vehicle = new Vehicle()
                        {
                            VehicleId = 2, Vin = "100"
                        }
                    }
                }
            });
            var service    = new ClaimService(mockRepository.Object);
            var controller = new ClaimController(service);

            // Act
            IHttpActionResult actionResult = controller.GetClaimById(42);
            var contentResult = actionResult as OkNegotiatedContentResult <ClaimBusinessEntities.Claim>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(42, contentResult.Content.ClaimId);
            Assert.AreEqual("100", contentResult.Content.Vehicles.FirstOrDefault().Vin);
        }
예제 #3
0
        public void CreateMethodSetsLocationHeader()
        {
            // Arrange
            var mockRepository = new Mock <IClaimRepository>();

            var service    = new ClaimService(mockRepository.Object);
            var controller = new ClaimController(service);

            // Act
            IHttpActionResult actionResult = controller.CreateClaim(new ClaimBusinessEntities.Claim
            {
                ClaimNumber       = "testClaimNo",
                ClaimantFirstName = "test",
                Vehicles          = new List <ClaimBusinessEntities.VehicleDetails>()
                {
                    new ClaimBusinessEntities.VehicleDetails()
                    {
                        VehicleId = 2, Vin = "100"
                    }
                }
            });
            var createdResult = actionResult as CreatedAtRouteNegotiatedContentResult <ClaimBusinessEntities.Claim>;

            // Assert
            Assert.IsNotNull(createdResult);
            Assert.AreEqual("GetByClaimNo", createdResult.RouteName);
            Assert.AreEqual("testClaimNo", createdResult.RouteValues["claimNo"]);
        }
예제 #4
0
        public void ExpenseClaim_ClaimController_POSTExpense_ShouldGetCreated()
        {
            var mockInvalidxMLChar              = new Mock <IRemoveInvalidCharFromXML>();
            var mockClaimRepository             = new Mock <IClaimRepository>();
            IRemoveInvalidCharFromXML removeXml = new RemoveInvalidCharFromXML();
            var mockLogger = Mock.Of <ILogger <ClaimController> >();

            mockClaimRepository.Setup(a => a.AddClaim(mockExpenseResult.FirstOrDefault()));
            mockClaimRepository.Setup(a => a.Save()).Returns(true);

            mockInvalidxMLChar.Setup(a => a.GetCleanXML(GetTestSessionExpenseEmail())).Returns(removeXml.GetCleanXML(GetTestSessionExpenseEmail()));

            var controller = new ClaimController(mockClaimRepository.Object, mockInvalidxMLChar.Object, mockLogger);

            var objectValidator = new Mock <IObjectModelValidator>();

            objectValidator.Setup(o => o.Validate(It.IsAny <ActionContext>(),
                                                  It.IsAny <ValidationStateDictionary>(),
                                                  It.IsAny <string>(),
                                                  It.IsAny <Object>()));
            controller.ObjectValidator = objectValidator.Object;

            var actionResult = controller.CreateClaim(GetTestSessionExpenseEmail());
            var okResult     = actionResult as CreatedAtRouteResult;

            Assert.Equal(201, okResult.StatusCode);
        }
예제 #5
0
 public RoleClaimController(Core.Controllers.RoleClaimController roleClaimCoreController, ClaimController claimController, Core.Controllers.RoleController roleController, Core.Controllers.ActorClaimController actorClaimController, IAuthorizationService authorizationService)
 {
     _roleClaimCoreController = roleClaimCoreController;
     _claimController         = claimController;
     _roleController          = roleController;
     _actorClaimController    = actorClaimController;
     _authorizationService    = authorizationService;
 }
예제 #6
0
        public void GetReturnsNotFound()
        {
            // Arrange
            var mockRepository = new Mock <IClaimRepository>();
            var service        = new ClaimService(mockRepository.Object);
            var controller     = new ClaimController(service);

            // Act
            IHttpActionResult actionResult = controller.GetClaimByClaimNo("test");

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult));
        }
예제 #7
0
        public void ExpenseClaim_ClaimController_GetExpenses_ShouldGetExpense()
        {
            var mockInvalidxMLChar  = new Mock <IRemoveInvalidCharFromXML>();
            var mockClaimRepository = new Mock <IClaimRepository>();

            mockClaimRepository.Setup(a => a.GetExpenses()).Returns(GetTestSessionExpense());
            var mockLogger = Mock.Of <ILogger <ClaimController> >();

            var controller   = new ClaimController(mockClaimRepository.Object, mockInvalidxMLChar.Object, mockLogger);
            var actionResult = controller.GetExpenses();

            Assert.IsType <OkObjectResult>(actionResult);
        }
예제 #8
0
        public void CreateMethodReturnsBadRequest()
        {
            // Arrange
            var mockRepository = new Mock <IClaimRepository>();

            var service    = new ClaimService(mockRepository.Object);
            var controller = new ClaimController(service);

            // Act
            IHttpActionResult actionResult = controller.CreateClaim(null);

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(BadRequestResult));
        }
예제 #9
0
        public void ExpenseClaim_ClaimController_GetExpense_ShouldGetExpense()
        {
            var mockInvalidxMLChar  = new Mock <IRemoveInvalidCharFromXML>();
            var expenseGuid         = mockExpenseResult.FirstOrDefault().Id;
            var mockClaimRepository = new Mock <IClaimRepository>();

            mockClaimRepository.Setup(a => a.GetExpense(expenseGuid)).Returns(mockExpenseResult.FirstOrDefault()).Verifiable();
            var mockLogger = Mock.Of <ILogger <ClaimController> >();

            var controller   = new ClaimController(mockClaimRepository.Object, mockInvalidxMLChar.Object, mockLogger);
            var actionResult = controller.GetExpense(expenseGuid);

            Assert.IsType <OkObjectResult>(actionResult);
        }
        public void Setup()
        {
            _postgresClaimDao = new PostgresClaimDao();
            _claimController  = new ClaimController(null);
            _insertedClaims   = new List <int>();
            var claim = ClaimBuilder.Create()
                        .WithStatus("ABIERTO")
                        .WithDescription("Bolso negro extraviado en el areopuerto de maiquetia")
                        .WithTitle("Bolso extraviado")
                        .WithBagagge(6)
                        .Build();

            _claimMapper = MapperFactory.CreateClaimMapper();
            _claimDto    = _claimMapper.CreateDTO(claim);
        }
        public void Index_ReturnsAViewResult_WithAListOfClaims()
        {
            // Arrange
            var mockRepo = new Mock <ICosmosDbService>();

            mockRepo.Setup(repo => repo.GetItemsAsync("SELECT * FROM c"))
            .Returns(GetTestClaims());
            var controller = new ClaimController(mockRepo.Object);

            // Act
            var result = controller.Index() as Task <IActionResult>;

            // Assert
            var viewResult = Assert.IsType <Microsoft.AspNetCore.Mvc.ViewResult>(result.Result);
            var model      = Assert.IsAssignableFrom <List <Claim> >(
                viewResult.ViewData.Model);

            Assert.Equal(2, model.Count());
        }
        public void Add_AddsClaimAndReturnsARedirect_WhenModelStateIsValid()
        {
            // Arrange
            var mockRepo = new Mock <ICosmosDbService>();

            mockRepo.Setup(repo => repo.AddItemAsync(It.IsAny <Claim>()))
            .Verifiable();
            var controller = new ClaimController(mockRepo.Object);
            var newClaim   = GetTestClaim();

            // Act
            var result = controller.CreateAsync(newClaim) as Task <ActionResult>;

            // Assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result.Result);

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal("Index", redirectToActionResult.ActionName);
            mockRepo.Verify();
        }
        public void Add_ReturnsBadRequestResult_WhenModelStateIsInvalid()
        {
            // Arrange
            var mockRepo = new Mock <ICosmosDbService>();


            var controller = new ClaimController(mockRepo.Object);

            controller.ModelState.AddModelError("Name", "Required");
            var newClaim = GetTestClaim();

            newClaim.DamageCost = 300.7m;

            // Act
            var result = controller.CreateAsync(newClaim);

            // Assert
            var badRequestResult = Assert.IsType <ViewResult>(result.Result);

            Assert.True(!badRequestResult.ViewData.ModelState.IsValid);
        }
예제 #14
0
 public CreepEffect(ClaimController target)
 {
     this.target          = target;
     this.effectComponent = Resources.Load <EffectComponent>("EffectComponent_creep");
     this.duration        = effectComponent.duration;
 }