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)))
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)))
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"))
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'))