Add state_name method to contact models to consistently return name
Problem
The state value on the Customer model is always saved as a 2-3 letters code. But when we sync the BillingAccountContact from Zuora contact, we get state NAME as value when Country is USA or CAN, and a 2-3 letters code for any other country.
As the state is saved as code on the customer model, it syncs the code value to zuora contact. When we update a Zuora contact with Country as United States or Canada, it converts the state code to name. But when country is not United States or Canada, it saves state as whatever string we send it.
This is causing an issue with state-select dropdown. If we use name as values for dropdown, it doesn't set the initial value correctly when the state value is saved as the code and vice versa.
Proposal
have a method that consistently returns the state name to use in state dropdown