def test_post_with_no_validation_errors_empty_date(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
        charge_date = {'day': "01", 'month': "12", 'year': "2016"}
        charge.charge_creation_date = charge_date
        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": "",
                "date-month": "",
                "date-year": ""
            })

        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_get_with_date(self):
        """should respond with a 200 and render the expected template"""
        charge = LocalLandChargeItem()
        charge.charge_creation_date = date(2011, 1, 1)
        self.mock_session.return_value.add_charge_state = charge
        self.client.set_cookie('localhost', Session.session_cookie_name,
                               'cookie_value')
        self.mock_session.return_value.user.permissions = [
            Permissions.vary_llc
        ]

        response = self.client.get(
            url_for('modify_land_charge.get_charge_date'))

        self.status = self.assert_status(response, 200)
        self.assert_template_used(HTML)