def test_edit_location_confirmation_post_redirects_when_valid(self):
        self.client.set_cookie('localhost', Session.session_cookie_name,
                               'cookie_value')
        self.mock_session.return_value.user.roles = ['LLC LR Admins']
        state = LocalLandChargeItem()
        state.geometry = 'abc'
        state.local_land_charge = 12345678
        self.mock_session.return_value.add_charge_state = state
        self.mock_session.return_value.user.permissions = [
            Permissions.vary_llc
        ]

        geometry = {
            'coordinates': [294230.7392612094, 93185.05361812815],
            'type': 'Point'
        }
        form_data = {
            'saved-features':
            json.dumps({'features': [{
                'geometry': geometry
            }]})
        }
        response = self.client.post(
            url_for('modify_land_charge.post_location'), data=form_data)

        self.assert_status(response, 302)
        self.assertRedirects(
            response,
            url_for('modify_land_charge.modify_land_charge',
                    local_land_charge='LLC-FCDPP'))
    def test_post_success_maybe_interest(self):
        self.client.set_cookie('localhost', Session.session_cookie_name,
                               'cookie_value')

        state = LocalLandChargeItem()
        state.geometry = "abc"
        state.local_land_charge = 1

        self.mock_session.return_value.add_charge_state = state
        self.mock_session.return_value.user.permissions = [
            Permissions.vary_llc
        ]

        response = self.client.post(
            url_for('modify_land_charge.post_financial_charge'),
            data={
                'interest-paid-indicator': 'Maybe',
                'amount-secured': '500'
            })

        self.assert_status(response, 302)
        self.assertRedirects(
            response,
            url_for('modify_land_charge.modify_land_charge',
                    local_land_charge="LLC-1"))
    def test_post_with_no_validation_errors(self, mock_validator):
        """should respond with a 302 and redirect to the add_land_charge_date page"""
        self.client.set_cookie('localhost', Session.session_cookie_name,
                               'cookie_value')
        self.mock_session.return_value.user.permissions = [
            Permissions.vary_llc
        ]
        charge = LocalLandChargeItem()
        charge.local_land_charge = 1
        self.mock_session.return_value.add_charge_state = charge
        self.mock_session.return_value.edited_fields = []

        mock_validator.validate.return_value.errors = NO_VALIDATION_ERRORS

        response = self.client.post(
            url_for('modify_land_charge.post_charge_date'),
            data={
                "date-day": "01",
                "date-month": "01",
                "date-year": "2001"
            })

        self.assertTrue('charge_creation_date' in
                        self.mock_session.return_value.edited_fields)
        self.assertStatus(response, 302)
        self.assertRedirects(
            response,
            url_for('modify_land_charge.modify_land_charge',
                    local_land_charge="LLC-1"))
    def test_post_land_compensation_ownership_other_change(self):
        self.client.set_cookie('localhost', Session.session_cookie_name, 'cookie_value')

        state = LocalLandChargeItem()
        state.local_land_charge = 1
        state.land_capacity_description = 'Bobshold'

        self.mock_session.return_value.add_charge_state = state
        self.mock_session.return_value.user.permissions = [Permissions.vary_llc]

        response = self.client.post(url_for('modify_land_charge.post_land_compensation_ownership'),
                                    data={'land-owned-indicator': 'Freehold', 'land-owned-other': None})

        self.assert_status(response, 302)
        self.assertRedirects(response, url_for('modify_land_charge.modify_land_charge', local_land_charge="LLC-1"))
    def test_post_without_geom(self):
        self.client.set_cookie('localhost', Session.session_cookie_name,
                               'cookie_value')
        self.mock_session.return_value.user.permissions = [
            Permissions.vary_llc
        ]
        state = LocalLandChargeItem()
        state.local_land_charge = 9372254
        state.geometry = None
        self.mock_session.return_value.add_charge_state = state

        response = self.client.post(
            url_for('modify_land_charge.post_update_location_confirmation'))
        self.assert_status(response, 302)
        self.assertRedirects(response, '/error')
    def test_get_with_state(self):
        self.client.set_cookie('localhost', Session.session_cookie_name,
                               'cookie_value')
        self.mock_session.return_value.user.permissions = [
            Permissions.vary_llc
        ]
        state = LocalLandChargeItem()
        state.local_land_charge = 9372254
        state.geometry = 'abc'
        self.mock_session.return_value.add_charge_state = state

        response = self.client.get(
            url_for('modify_land_charge.get_update_location_confirmation'))
        self.assert_status(response, 200)
        self.assert_template_used('update_location_confirmation.html')
    def test_post_land_compensation_payment(self):
        self.client.set_cookie('localhost', Session.session_cookie_name, 'cookie_value')

        state = LocalLandChargeItem()
        state.local_land_charge = 1

        self.mock_session.return_value.add_charge_state = state
        self.mock_session.return_value.user.permissions = [Permissions.vary_llc]

        response = self.client.post(url_for('modify_land_charge.post_land_compensation_payment'),
                                    data={'land-compensation-paid': '25000',
                                          'amount-of-compensation': '90000',
                                          'land-compensation-amount-type': 'Agreed amount'})

        self.assert_status(response, 302)
        self.assertRedirects(response, url_for('modify_land_charge.modify_land_charge', local_land_charge="LLC-1"))
    def test_post_selected_address_successful(self):
        self.client.set_cookie('localhost', Session.session_cookie_name, 'cookie_value')

        state = LocalLandChargeItem()
        state.local_land_charge = 1
        self.mock_session.return_value.add_charge_state = state
        self.mock_session.return_value.user.permissions = [Permissions.vary_llc]

        response = self.client.post(url_for(POST_ADDRESS_CONFIRMATION), data={
            'has-address': 'ProvideAddress',
            'selected-address': json.dumps(VALID_ADDRESS)
        })

        self.assert_status(response, 302)
        self.assertRedirects(response, url_for(NEXT_URL, local_land_charge=charge_id_services.calc_display_id(
                                               state.local_land_charge)))
コード例 #9
0
    def test_expiry_post_charge_does_not_expire(self):
        self.client.set_cookie('localhost', Session.session_cookie_name, 'cookie_value')
        self.mock_session.return_value.user.permissions = [Permissions.vary_llc]

        state = LocalLandChargeItem()
        state.geometry = "abc"
        state.local_land_charge = 1

        self.mock_session.return_value.add_charge_state = state

        response = self.client.post(url_for('modify_land_charge.post_expiry'), data={
            'does_charge_expire': 'no'
        })

        self.assert_status(response, 302)
        self.assertRedirects(response, url_for('modify_land_charge.modify_land_charge',
                                               local_land_charge="LLC-1"))
    def test_location_post_validation_errors(self, mock_location_validator):
        self.client.set_cookie('localhost', Session.session_cookie_name,
                               'cookie_value')
        self.mock_session.return_value.user.permissions = [
            Permissions.vary_llc
        ]
        state = LocalLandChargeItem()
        state.geometry = "abc"
        state.local_land_charge = 9372254

        self.mock_session.return_value.add_charge_state = state
        validation_errors = {'map': 'test error message'}
        mock_location_validator.validate.return_value.errors = validation_errors
        response = self.client.post(
            url_for('modify_land_charge.post_update_location_confirmation'))

        self.assert_status(response, 400)
        self.assert_template_used('update_location_confirmation.html')
    def test_post_location_description_successful(self):
        self.client.set_cookie('localhost', Session.session_cookie_name, 'cookie_value')

        state = LocalLandChargeItem()
        state.local_land_charge = 1
        self.mock_session.return_value.add_charge_state = state
        self.mock_session.return_value.user.permissions = [Permissions.vary_llc]

        charge_geographic_description = 'This is a valid description'

        response = self.client.post(url_for(POST_ADDRESS_CONFIRMATION), data={
            'has-address': 'No',
            'charge-geographic-description': charge_geographic_description
        })

        self.assert_status(response, 302)
        self.assertRedirects(response, url_for(NEXT_URL, local_land_charge=charge_id_services.calc_display_id(
                                               state.local_land_charge)))
コード例 #12
0
    def test_expiry_post_charge_does_expire(self):
        self.client.set_cookie('localhost', Session.session_cookie_name, 'cookie_value')
        self.mock_session.return_value.user.permissions = [Permissions.vary_llc]

        state = LocalLandChargeItem()
        state.local_land_charge = 1
        self.mock_session.return_value.add_charge_state = state

        form_data = {
            'does_charge_expire': 'yes',
            'charge_expiry_day': '10',
            'charge_expiry_month': '10',
            'charge_expiry_year': '2010'
        }

        response = self.client.post(url_for('modify_land_charge.post_expiry'), data=form_data)

        self.assert_status(response, 302)
        self.assertRedirects(response, url_for('modify_land_charge.modify_land_charge',
                                               local_land_charge="LLC-1"))
コード例 #13
0
    def test_post_renders_when_previous_information_set(self):
        self.client.set_cookie('localhost', Session.session_cookie_name,
                               'cookie_value')
        self.mock_session.return_value.user.permissions = [
            Permissions.vary_llc
        ]

        state = LocalLandChargeItem()
        state.local_land_charge = 12345678

        self.mock_session.return_value.add_charge_state = state

        response = self.client.post(
            url_for('modify_land_charge.post_charge_description'),
            data={'charge-description': 'test-charge-description'})

        self.assert_status(response, 302)
        self.assertRedirects(
            response,
            url_for('modify_land_charge.modify_land_charge',
                    local_land_charge='LLC-FCDPP'))
    def test_post_add_land_charge_validation_error(self, mock_app, mock_audit):
        with main.app.test_request_context():
            g.requests = MagicMock()
            g.trace_id = '123'
            g.session = self.mock_session
            response = MagicMock()
            response.status_code = 500
            response.text = "response"
            g.requests.post.return_value = response
            land_charge = LocalLandChargeItem()
            land_charge.local_land_charge = '1'

            try:
                MaintainApiService.add_charge(land_charge)
            except Exception as ex:
                self.assertEqual(ex.http_code, 500)
                mock_app.logger.exception.assert_called()
                mock_app.logger.exception.assert_called_with(
                    'Failed to send land charge to maintain-api. TraceID : 123 - Status: 500, Message: response')
                mock_audit.audit_event.assert_called_with('Failed to send land charge to maintain-api')
                return
            self.fail()
    def test_post_success(self):
        self.client.set_cookie('localhost', Session.session_cookie_name,
                               'cookie_value')
        self.mock_session.return_value.user.permissions = [
            Permissions.vary_llc
        ]
        self.mock_session.return_value.user.roles = ['LLC LR Admins']

        state = LocalLandChargeItem()
        state.geometry = "abc"
        state.local_land_charge = 399664232600384

        self.mock_session.return_value.add_charge_state = state
        form_data = {'location-confirmation': True}
        response = self.client.post(
            url_for('modify_land_charge.post_update_location_confirmation'),
            data=form_data)

        self.assert_status(response, 302)
        self.assertRedirects(
            response,
            url_for('modify_land_charge.modify_land_charge',
                    local_land_charge='LLC-H3LL0W0RLD'))