예제 #1
0
        public void TestCase2()
        {
            var card1 = new Card("visa", 100);
            var card2 = new Card("discover", 100);

            var wallet1 = new Wallet(new [] { card1, card2 });

            var card3 = new Card("mastercard", 100);

            var wallet2 = new Wallet(new [] { card3 });

            var person = new Person("person", new [] { wallet1, wallet2 });

            var personServiceMock = new Mock <IPersonService>();

            personServiceMock.Setup(service => service.GetPersonById("person")).Returns(person);

            var personService = personServiceMock.Object;

            var interestController = new InterestController(personService, cardIssuerService, new StandardInterestCalculator());
            var result             = interestController.CalculateInterest("person");

            Assert.AreEqual(result.PersonInterest, 16);

            Assert.AreEqual(result.WalletInterest[wallet1], 11);
            Assert.AreEqual(result.WalletInterest[wallet2], 5);

            Assert.AreEqual(result.CardInterest[card1], 10);
            Assert.AreEqual(result.CardInterest[card2], 1);
            Assert.AreEqual(result.CardInterest[card3], 5);
        }
예제 #2
0
        public async Task Get_Should_Return_Ok_Result_When_Valid()
        {
            var mockInterest = new List <InterestDTO>()
            {
                new InterestDTO()
                {
                    Id = 1, InterestDescription = "test", InterestName = "test"
                },
                new InterestDTO()
                {
                    Id = 2, InterestDescription = "test", InterestName = "test"
                }
            } as IReadOnlyList <InterestDTO>;
            var mockInterestsService = new Mock <IInterestService>();

            mockInterestsService.Setup(x => x.GetInterests()).ReturnsAsync(Result.Ok(mockInterest));

            var controller = new InterestController(mockInterestsService.Object);
            var result     = await controller.GetAll();

            var contentResult = result as OkObjectResult;

            contentResult.StatusCode.Should().Be(200);
            contentResult.Value.Should().BeAssignableTo <IReadOnlyList <InterestDTO> >();
            var actualValue = contentResult.Value as IReadOnlyList <InterestDTO>;

            actualValue.Should().BeEquivalentTo(mockInterest);
        }
예제 #3
0
        public void Get_Interest_Rate_Success()
        {
            var interest = new InterestController();

            var result = interest.Get();

            Assert.Equal(result, 0.01);
        }
예제 #4
0
        public async Task Get_Should_Return_Failure_Result_When_No_Content_Is_Available()
        {
            var mockInterestsService = new Mock <IInterestService>();

            mockInterestsService.Setup(x => x.GetInterests()).ReturnsAsync(Result.Fail <IReadOnlyList <InterestDTO> >(InterestRepository.No_Interests_Found));

            var controller = new InterestController(mockInterestsService.Object);
            var result     = await controller.GetAll();

            var contentResult = result as BadRequestObjectResult;

            contentResult.StatusCode.Should().Be(400);
            contentResult.Value.Should().Be(InterestRepository.No_Interests_Found);
        }
        public void should_return_interest_rate()
        {
            //Mock
            var mock = new Mock <IInterestBO>();

            mock.Setup(p => p.getCompoundInterestValue(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>())).Returns("12.5");
            var controller = new InterestController(mock.Object);

            //Action
            var result = controller.GetCompoundInterest("100", "2");

            //Check
            Assert.Equal("12.5", result.Value);
        }
        public void should_return_error_GitHubURL()
        {
            //Mock
            var mock = new Mock <IInterestBO>();

            mock.Setup(p => p.getGitHubRepository()).Throws <Exception>();
            var controller = new InterestController(mock.Object);

            //Action
            var result = controller.GetShowMeTheCode();

            //Check
            Assert.Equal(500, ((Microsoft.AspNetCore.Mvc.ObjectResult)result.Result).StatusCode);
        }
        public void should_return_GitHubURL()
        {
            //Mock
            var mock = new Mock <IInterestBO>();

            mock.Setup(p => p.getGitHubRepository()).Returns("abc");
            InterestController controller = new InterestController(mock.Object);

            //Action
            var result = controller.GetShowMeTheCode();

            //Check
            Assert.Equal("abc", result.Value);
        }
예제 #8
0
        public async Task Insert_Should_Return_Failure_Result_When_InterestsDTO_Is_Null()
        {
            var mockInterestsService = new Mock <IInterestService>();

            var controller = new InterestController(mockInterestsService.Object);
            var result     = await controller.Insert(null);

            var contentResult = result as BadRequestObjectResult;

            contentResult.StatusCode.Should().Be(400);
            contentResult.Value.Should().BeAssignableTo <string>();
            var actualValue = contentResult.Value as string;

            actualValue.Should().Be(Constants.InterestErrorMessages.Interest_Should_Not_Be_Empty);
        }
        public void should_return_error_interest_parameter_cast()
        {
            //Mock
            var mock = new Mock <IInterestBO>();

            mock.Setup(p => p.getCompoundInterestValue(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>())).Throws <InvalidCastException>();
            var controller = new InterestController(mock.Object);

            //Action
            var result = controller.GetCompoundInterest("100", "2");

            //Check
            Assert.Equal(500, ((Microsoft.AspNetCore.Mvc.ObjectResult)result.Result).StatusCode);
            Assert.Equal("Error: Specified cast is not valid.",
                         ((Microsoft.AspNetCore.Mvc.ObjectResult)result.Result).Value);
        }
        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()));
        }
예제 #11
0
        public async Task Insert_Should_Return_Ok_Result_When_Valid_InterestsDTO_Is_Passed()
        {
            var testDto = new CreateInterestDTO();

            var mockInterestsService = new Mock <IInterestService>();

            mockInterestsService.Setup(x => x.InsertInterest(testDto)).ReturnsAsync(Result.Ok());

            var controller = new InterestController(mockInterestsService.Object);
            var result     = await controller.Insert(testDto);

            var contentResult = result as OkObjectResult;

            contentResult.StatusCode.Should().Be(200);
            contentResult.Value.Should().BeAssignableTo <bool>();
            var actualValue = contentResult.Value as bool?;

            actualValue.Should().BeTrue();
        }
예제 #12
0
        public async Task Update_Should_Return_Failure_Result_When_There_Is_Issue_While_Saving()
        {
            var testDto = new InterestDTO()
            {
                Id = 1
            };
            var mockInterestsService = new Mock <IInterestService>();

            mockInterestsService.Setup(x => x.UpdateInterest(It.IsAny <InterestDTO>())).ReturnsAsync(Result.Fail(Constants.InterestErrorMessages.Error_Occured_While_Updating_Interest));
            var controller = new InterestController(mockInterestsService.Object);
            var result     = await controller.Update(testDto);

            var contentResult = result as BadRequestObjectResult;

            contentResult.StatusCode.Should().Be(400);
            contentResult.Value.Should().BeAssignableTo <string>();
            var actualValue = contentResult.Value as string;

            actualValue.Should().Be(Constants.InterestErrorMessages.Error_Occured_While_Updating_Interest);
        }
예제 #13
0
        public void TestCase3()
        {
            var card1 = new Card("mastercard", 100);
            var card2 = new Card("mastercard", 100);

            var wallet1 = new Wallet(new [] { card1, card2 });

            var person1 = new Person("person1", new [] { wallet1 });

            var card3 = new Card("visa", 100);
            var card4 = new Card("mastercard", 100);

            var wallet2 = new Wallet(new [] { card3, card4 });

            var person2 = new Person("person2", new [] { wallet2 });

            var personServiceMock = new Mock <IPersonService>();

            personServiceMock.Setup(service => service.GetPersonById("person1")).Returns(person1);
            personServiceMock.Setup(service => service.GetPersonById("person2")).Returns(person2);

            var personService = personServiceMock.Object;

            var interestController = new InterestController(personService, cardIssuerService, new StandardInterestCalculator());
            var result1            = interestController.CalculateInterest("person1");
            var result2            = interestController.CalculateInterest("person2");

            Assert.AreEqual(result1.PersonInterest, 10);

            Assert.AreEqual(result1.WalletInterest[wallet1], 10);

            Assert.AreEqual(result1.CardInterest[card1], 5);
            Assert.AreEqual(result1.CardInterest[card2], 5);

            Assert.AreEqual(result2.PersonInterest, 15);

            Assert.AreEqual(result2.WalletInterest[wallet2], 15);

            Assert.AreEqual(result2.CardInterest[card3], 10);
            Assert.AreEqual(result2.CardInterest[card4], 5);
        }
        private void AddProspect()
        {
            var txtName        = (TextBox)pnlClientName.Controls[3].Controls[0];
            var txtRazon       = (TextBox)divClientRazon.Controls[3].Controls[1];
            var txtRfc         = (TextBox)divClientRfc.Controls[3].Controls[0];
            var txtContactMail = (TextBox)divContactMail.Controls[3].Controls[1];

            var objProspecto = new Cliente();

            objProspecto.NombreCliente   = txtName.Text;
            objProspecto.RazonSocial     = txtRazon.Text;
            objProspecto.IsCliente       = false;
            objProspecto.RFC             = txtRfc.Text;
            objProspecto.WebSite         = txtSitioWeb.Text;
            objProspecto.Street          = txtCalle.Text;
            objProspecto.Suburb          = txtColonia.Text;
            objProspecto.NumExt          = txtNumExt.Text;
            objProspecto.NumInt          = txtNumInt.Text;
            objProspecto.Zip             = txtZip.Text;
            objProspecto.Delegation      = txtDelegacion.Text;
            objProspecto.Town            = txtCiudad.Text;
            objProspecto.StateFk         = Guid.Parse(ddlEstado.SelectedValue);
            objProspecto.SourceClientFk  = Guid.Parse(ddlFuente.SelectedValue);
            objProspecto.DateProspect    = DateTime.Now.Date;
            objProspecto.Recoment        = txtRecomendado.Text;
            objProspecto.OfficeFk        = Guid.Parse(Session["Oficina"].ToString());
            objProspecto.StatusClienteFk = Guid.Parse(ddlStatusCliente.SelectedValue);
            objProspecto.Baja            = false;

            string sIdCreated;

            ClienteController.AddOrUpdateCliente(objProspecto, out sIdCreated);


            var objContactPrincipal = new ContactSite();

            objContactPrincipal.Email          = txtContactMail.Text;
            objContactPrincipal.ContactTypeKey = Guid.Parse(ddlTypeContact.SelectedValue);
            objContactPrincipal.Name           = txtContactName.Text;
            objContactPrincipal.ApPaterno      = txtContactApPaterno.Text;
            objContactPrincipal.ApMaterno      = txtContactApMaterno.Text;
            objContactPrincipal.Position       = txtPosicion.Text;
            objContactPrincipal.Phone          = txtContactTelefono.Text;
            objContactPrincipal.StartDate      = DateTime.Now.Date;
            objContactPrincipal.ClienteFk      = Guid.Parse(sIdCreated);

            string sIdCreatedContact;

            ContactController.AddOrUpdateContact(objContactPrincipal, out sIdCreatedContact);


            var objInteres = new Interest();

            objInteres.ClienteFk      = Guid.Parse(sIdCreated);
            objInteres.InterestTypeFk = Guid.Parse(ddlInteres.SelectedValue);

            if (!ddlStandard.SelectedValue.Equals("00000000-0000-0000-0000-000000000000"))
            {
                objInteres.StandardFk = Guid.Parse(ddlStandard.SelectedValue);
            }

            if (!ddlCourse.SelectedValue.Equals("00000000-0000-0000-0000-000000000000"))
            {
                objInteres.StandardCourseFk = Guid.Parse(ddlCourse.SelectedValue);
            }

            string sIdCreatedInterest;

            InterestController.AddOrUpdateInterest(objInteres, out sIdCreatedInterest);

            //Envia Correo de bienvenida para ingresarlo a MailChimp
            mcapiController.AccedeApi(objContactPrincipal.Name, objContactPrincipal.ApPaterno, objContactPrincipal.Email);

            Response.Redirect("SalesModule.aspx");
        }
 public InterestControllerTest()
 {
     _service    = new PeopleServiceFake();
     _controller = new InterestController(_service);
 }
예제 #16
0
 public InterestControllerTest()
 {
     _controller = new InterestController();
 }