WeatherHelperTest.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. $this->assertTrue(!empty($res));
  21. $res = $this->Weather->get('Berlin, Deutschland');
  22. $res = $this->_displayForecast($res);
  23. $this->out($res);
  24. $this->assertTrue(!empty($res));
  25. $res = $this->Weather->get('Schwäbisch Hall, Deutschland');
  26. $res = $this->_displayForecast($res);
  27. $this->out($res);
  28. $this->assertTrue(!empty($res));
  29. $res = $this->Weather->get('xxxxx');
  30. $res = $this->_displayForecast($res);
  31. $this->assertTrue(empty($res));
  32. }
  33. public function _displayForecast($w) {
  34. $res = '';
  35. if (empty($w['request'])) {
  36. return $res;
  37. }
  38. $res .= '<table><tr>';
  39. for ($i = 2; $i < 5; $i++) {
  40. $weather = $w['weather'][$i];
  41. $res .= '<td>';
  42. $res .= '<h1>' . date('D', strtotime($weather['date'])) . '</h1>';
  43. $res .= '<div>' . date('M d, Y', strtotime($weather['date'])) . '</div>';
  44. $res .= '<h1>' . $this->Weather->Html->image($weather['weatherIconUrl']) . '</h1>';
  45. $res .= '<div>' . $weather['tempMinC'] . '° - ' . $weather['tempMaxC'] . '°</div>';
  46. $res .= '<div>' . $weather['weatherDesc'] . '</div>';
  47. $res .= '</td>';
  48. }
  49. $res .= '</tr></table>';
  50. return $res;
  51. }
  52. }