Develop a TypeScript program that uses the GraphQL API to retrieve data from a server. Your program should include appropriate error handling and utilize TypeScript features such as type definitions and interfaces. The retrieved data should be displayed to the user in a user-friendly and visually appealing manner. Remember to follow best practices for coding style, such as proper indentation and commenting. Finally, your program should be thoroughly tested to ensure functionality and reliability.
This prompt doesn't seem malicious.