Ejemplo n.º 1
0
        public async Task GetRentAccountWithInvalidRefReturns404()
        {
            var rentAccountResponse = new RentAccountResponse();

            rentAccountResponse = null;
            var paymentReference = "1234567";
            var privacy          = true;

            _getRentAccountUseCase.Setup(x => x.Execute(paymentReference, privacy)).ReturnsAsync(rentAccountResponse);
            var response = (await _classUnderTest.GetRentAccount(paymentReference, privacy).ConfigureAwait(true) as IActionResult) as ObjectResult;

            response.Should().NotBeNull();
            response.StatusCode.Should().Be(404);
            response.Value.Should().Be("Account not found");
        }
Ejemplo n.º 2
0
        public void CheckResponseFormatForName()
        {
            var paymentReference = "12345";
            var privacy          = false;
            CrmRentAccountResponse crmRentAccountResponse = TestHelpers.CreateRentAccountResponseObject(true);

            RentAccountResponse rentAccountResponse = new RentAccountResponse
            {
                Name = "Bob Bobson"
            };

            var response = CRMFactory.ToRentAccountResponse(paymentReference, crmRentAccountResponse, privacy);

            response.Name.Should().Equals(rentAccountResponse.Name);
        }
Ejemplo n.º 3
0
        public void CheckResponseForToPayCalculationIsZero()
        {
            var paymentReference = "12345";
            var privacy          = false;
            CrmRentAccountResponse crmRentAccountResponse = TestHelpers.CreateNothingToPayResponseObject();

            RentAccountResponse rentAccountResponse = new RentAccountResponse
            {
                ToPay = 0.00M
            };

            var response = CRMFactory.ToRentAccountResponse(paymentReference, crmRentAccountResponse, privacy);

            response.ToPay.Should().Equals(rentAccountResponse.ToPay);
        }
Ejemplo n.º 4
0
        public void CheckResponseForToPayCalculation()
        {
            var paymentReference = "12345";
            var privacy          = false;
            var positiveBalance  = true;
            CrmRentAccountResponse crmRentAccountResponse = TestHelpers.CreateRentAccountResponseObject(positiveBalance);

            RentAccountResponse rentAccountResponse = new RentAccountResponse
            {
                ToPay = 800.00M
            };

            var response = CRMFactory.ToRentAccountResponse(paymentReference, crmRentAccountResponse, privacy);

            response.ToPay.Should().Equals(rentAccountResponse.ToPay);
        }
Ejemplo n.º 5
0
        public void CheckResponseForNegativeCurrentBalanceAndArrears()
        {
            var paymentReference = "12345";
            var privacy          = false;
            var positiveBalance  = false;
            CrmRentAccountResponse crmRentAccountResponse = TestHelpers.CreateRentAccountResponseObject(positiveBalance);

            RentAccountResponse rentAccountResponse = new RentAccountResponse
            {
                CurrentBalance = -123.45M,
                HasArrears     = true
            };

            var response = CRMFactory.ToRentAccountResponse(paymentReference, crmRentAccountResponse, privacy);

            response.CurrentBalance.Should().Equals(rentAccountResponse.CurrentBalance);
            response.HasArrears.Should().Equals(rentAccountResponse.HasArrears);
        }
Ejemplo n.º 6
0
        public static RentAccountResponse ToRentAccountResponse(string paymentReference, CrmRentAccountResponse crmResponse, bool privacy)
        {
            var firstname           = privacy ? PrivacyFormatting.GetPrivacyString(crmResponse.value[0].contact1_x002e_firstname) : crmResponse.value[0].contact1_x002e_firstname;
            var lastname            = privacy ? PrivacyFormatting.GetPrivacyString(crmResponse.value[0].contact1_x002e_lastname) : crmResponse.value[0].contact1_x002e_lastname;
            var fullname            = $"{firstname} {lastname}";
            var currentBalance      = decimal.Parse(crmResponse.value[0].housing_cur_bal);
            var toPay               = decimal.Parse(crmResponse.value[0].housing_rent) - decimal.Parse(crmResponse.value[0].housing_anticipated);
            var rentAccountResponse = new RentAccountResponse
            {
                AccountNumber        = paymentReference,
                Name                 = fullname,
                CurrentBalance       = currentBalance > 0 ? currentBalance : currentBalance * -1,
                Rent                 = decimal.Parse(crmResponse.value[0].housing_rent),
                ToPay                = toPay < 0 ? 0 : toPay,
                Benefits             = decimal.Parse(crmResponse.value[0].housing_anticipated),
                HasArrears           = decimal.Parse(crmResponse.value[0].housing_cur_bal) > 0,
                IsHackneyResponsible = bool.Parse(crmResponse.value[0].contact1_x002e_hackney_responsible),
                NextPayment          = GetNextMondayFormatted(),
                Postcode             = crmResponse.value[0].contact1_x002e_address1_postalcode,
                TenancyAgreementId   = crmResponse.value[0].housing_tag_ref
            };

            return(rentAccountResponse);
        }