WeatherHelperTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. App::uses('WeatherHelper', 'Tools.View/Helper');
  3. App::uses('HtmlHelper', 'View/Helper');
  4. App::uses('View', 'View');
  5. App::uses('MyCakeTestCase', 'Tools.TestSuite');
  6. /**
  7. */
  8. class WeatherHelperTest extends MyCakeTestCase {
  9. public function setUp() {
  10. parent::setUp();
  11. $this->Weather = new WeatherHelper(new View(null));
  12. $this->Weather->Html = new HtmlHelper(new View(null));
  13. $this->skipIf(!Configure::read('Weather.key'));
  14. }
  15. /** TODO **/
  16. public function testDisplay() {
  17. $res = $this->Weather->get('51.0872,13.8028');
  18. $res = $this->_displayForecast($res);
  19. $this->out($res);
  20. //debug($res);
  21. $this->assertTrue(empty($res)); // NEW
  22. $res = $this->Weather->get('Berlin, Deutschland');
  23. $res = $this->_displayForecast($res);
  24. $this->out($res);
  25. $this->assertTrue(!empty($res));
  26. $res = $this->Weather->get('Schwäbisch Hall, Deutschland');
  27. $res = $this->_displayForecast($res);
  28. $this->out($res);
  29. $this->assertTrue(!empty($res));
  30. $res = $this->Weather->get('xxxxx');
  31. $res = $this->_displayForecast($res);
  32. $this->assertTrue(empty($res));
  33. }
  34. public function _displayForecast($w) {
  35. $res = '';
  36. if (empty($w['request'])) {
  37. return $res;
  38. }
  39. $res .= '<table><tr>';
  40. for ($i = 2; $i < 5; $i++) {
  41. $weather = $w['weather'][$i];
  42. $res .= '<td>';
  43. $res .= '<h1>' . date('D', strtotime($weather['date'])) . '</h1>';
  44. $res .= '<div>' . date('M d, Y', strtotime($weather['date'])) . '</div>';
  45. $res .= '<h1>' . $this->Weather->Html->image($weather['weatherIconUrl']) . '</h1>';
  46. $res .= '<div>' . $weather['tempMinC'] . '° - ' . $weather['tempMaxC'] . '°</div>';
  47. $res .= '<div>' . $weather['weatherDesc'] . '</div>';
  48. $res .= '</td>';
  49. }
  50. $res .= '</tr></table>';
  51. return $res;
  52. }
  53. }