public async void BulkInsert_No_Errors()
        {
            ContactTypeControllerMockFacade mock = new ContactTypeControllerMockFacade();

            var mockResponse = new CreateResponse <ApiContactTypeResponseModel>(new FluentValidation.Results.ValidationResult());

            mockResponse.SetRecord(new ApiContactTypeResponseModel());
            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiContactTypeRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiContactTypeResponseModel> >(mockResponse));
            ContactTypeController controller = new ContactTypeController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var records = new List <ApiContactTypeRequestModel>();

            records.Add(new ApiContactTypeRequestModel());
            IActionResult response = await controller.BulkInsert(records);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var result = (response as OkObjectResult).Value as List <ApiContactTypeResponseModel>;

            result.Should().NotBeEmpty();
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiContactTypeRequestModel>()));
        }
        public async void Patch_No_Errors()
        {
            ContactTypeControllerMockFacade mock = new ContactTypeControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiContactTypeResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(true);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <ApiContactTypeRequestModel>()))
            .Callback <int, ApiContactTypeRequestModel>(
                (id, model) => model.ModifiedDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"))
                )
            .Returns(Task.FromResult <UpdateResponse <ApiContactTypeResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiContactTypeResponseModel>(new ApiContactTypeResponseModel()));
            ContactTypeController controller = new ContactTypeController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiContactTypeModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiContactTypeRequestModel>();

            patch.Replace(x => x.ModifiedDate, DateTime.Parse("1/1/1987 12:00:00 AM"));

            IActionResult response = await controller.Patch(default(int), patch);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            mock.ServiceMock.Verify(x => x.Update(It.IsAny <int>(), It.IsAny <ApiContactTypeRequestModel>()));
        }
        public async Task GetContactTypes_ContactTypesExists_ReturnContactTypes(
            [Frozen] List <ContactType> dto,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] ContactTypeController sut
            )
        {
            //Arrange
            mockMediator.Setup(x => x.Send(
                                   It.IsAny <GetContactTypesQuery>(),
                                   It.IsAny <CancellationToken>()
                                   ))
            .ReturnsAsync(dto);

            //Act
            var actionResult = await sut.GetContactTypes();

            //Assert
            var okObjectResult = actionResult as OkObjectResult;

            okObjectResult.Should().NotBeNull();

            var contactTypes = okObjectResult.Value as List <ContactType>;

            contactTypes.Count.Should().Be(dto.Count);
        }
        public void DeleteContactType()
        {
            // Arrange
            ContactTypeController controller = new ContactTypeController();

            var actResult = controller.Delete(1);
            // Act
            var result = actResult as OkNegotiatedContentResult <bool>;

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Content == true);
        }
        public void getContactType()
        {
            // Arrange
            ContactTypeController controller = new ContactTypeController();

            var actResult = controller.Get(1);
            // Act
            var result = actResult as OkNegotiatedContentResult <ContactType>;

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Content.ID == 1);
        }
        public async void Get_Not_Exists()
        {
            ContactTypeControllerMockFacade mock = new ContactTypeControllerMockFacade();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiContactTypeResponseModel>(null));
            ContactTypeController controller = new ContactTypeController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Get(default(int));

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
        public void PostContactType()
        {
            // Arrange
            ContactTypeController controller = new ContactTypeController();

            ContactType ContactTypeObj = new ContactType
            {
                Name = "Primary"
            };
            var actResult = controller.Post(ContactTypeObj);
            // Act
            var result = actResult as OkNegotiatedContentResult <ContactType>;

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Content.ID > 0);
        }
        public async void Delete_Errors()
        {
            ContactTypeControllerMockFacade mock = new ContactTypeControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.FromResult <ActionResponse>(mockResult.Object));
            ContactTypeController controller = new ContactTypeController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Delete(default(int));

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Delete(It.IsAny <int>()));
        }
        public void PutContactType()
        {
            // Arrange
            ContactTypeController controller = new ContactTypeController();

            ContactType ContactTypeObj = new ContactType
            {
                ID   = 1,
                Name = "Put request sucessfull",
            };
            var actResult = controller.Put(1, ContactTypeObj);
            // Act
            var result = actResult as OkNegotiatedContentResult <ContactType>;

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Content.Name.Equals("Put request sucessfull"));
        }
        private void fillDdl()
        {
            ddlPais.DataSource     = CountryController.GetAllConuntry();
            ddlPais.DataTextField  = "Name";
            ddlPais.DataValueField = "CountryKey";
            ddlPais.DataBind();

            ddlPais.SelectedValue = "3177E8C2-FBAA-424B-A60F-0BAF24C34F18";

            ddlEstado.DataSource     = StateController.GetAllStates(ddlPais.SelectedValue);
            ddlEstado.DataTextField  = "Name";
            ddlEstado.DataValueField = "StateKey";
            ddlEstado.DataBind();

            ddlFuente.DataSource     = SourceClientController.GetAllSourceClient();
            ddlFuente.DataTextField  = "Name";
            ddlFuente.DataValueField = "SourceClientKey";
            ddlFuente.DataBind();

            ddlFuente.Items.Insert(0, new ListItem("-Ninguno-", Guid.Empty.ToString()));


            ddlInteres.DataSource     = InterestController.GetAllInterest();
            ddlInteres.DataTextField  = "Name";
            ddlInteres.DataValueField = "InterestTypeKey";
            ddlInteres.DataBind();

            ddlInteres.Items.Insert(0, new ListItem("-Ninguno-", Guid.Empty.ToString()));
            ClearDdlInterest();

            ddlTypeContact.DataSource     = ContactTypeController.GetAllTypeContact();
            ddlTypeContact.DataTextField  = "Name";
            ddlTypeContact.DataValueField = "ContactTypeKey";
            ddlTypeContact.DataBind();

            ddlTypeContact.Items.Insert(0, new ListItem("-Ninguno-", Guid.Empty.ToString()));

            ddlStatusCliente.DataSource     = StatusClienteController.GetAll();
            ddlStatusCliente.DataTextField  = "Name";
            ddlStatusCliente.DataValueField = "StatusClienteKey";
            ddlStatusCliente.DataBind();

            ddlStatusCliente.Items.Insert(0, new ListItem("-Ninguno-", Guid.Empty.ToString()));
        }
        public async void All_Not_Exists()
        {
            ContactTypeControllerMockFacade mock = new ContactTypeControllerMockFacade();

            mock.ServiceMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <ApiContactTypeResponseModel> >(new List <ApiContactTypeResponseModel>()));
            ContactTypeController controller = new ContactTypeController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.All(1000, 0);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var items = (response as OkObjectResult).Value as List <ApiContactTypeResponseModel>;

            items.Should().BeEmpty();
            mock.ServiceMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>()));
        }
        public async void Update_NotFound()
        {
            ContactTypeControllerMockFacade mock = new ContactTypeControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiContactTypeResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <ApiContactTypeRequestModel>())).Returns(Task.FromResult <UpdateResponse <ApiContactTypeResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiContactTypeResponseModel>(null));
            ContactTypeController controller = new ContactTypeController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiContactTypeModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Update(default(int), new ApiContactTypeRequestModel());

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
        public async void Patch_Record_Not_Found()
        {
            ContactTypeControllerMockFacade mock = new ContactTypeControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiContactTypeResponseModel>(null));
            ContactTypeController controller = new ContactTypeController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiContactTypeRequestModel>();

            patch.Replace(x => x.ModifiedDate, DateTime.Parse("1/1/1987 12:00:00 AM"));

            IActionResult response = await controller.Patch(default(int), patch);

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }