Пример #1
0
 public function itReturnsJson()
 {
     $artifact_id = 55;
     $artifact_title = 'bla';
     $cross_ref = 'task #22';
     $edit_url = 'edit';
     $accent_color = 'rgb(12,12,12)';
     $swimline_id = 215;
     $drop_into = array('5', '7');
     $artifact = aMockArtifact()->withId($artifact_id)->build();
     $card_fields = mock('Cardwall_CardFields');
     $field1 = mock('Tracker_FormElement_Field_Float');
     $field2 = mock('Tracker_FormElement_Field_Selectbox');
     $field3 = mock('Tracker_FormElement_Field_Selectbox');
     stub($field1)->getJsonValue()->returns(5.1);
     stub($field2)->getJsonValue()->returns(array(101, 201));
     stub($field3)->getJsonValue()->returns(236);
     stub($field1)->fetchCardValue()->returns("5.1");
     stub($field2)->fetchCardValue()->returns('<a href');
     stub($field3)->fetchCardValue()->returns('<span>Decorator</span>');
     stub($field1)->getName()->returns(Tracker::REMAINING_EFFORT_FIELD_NAME);
     stub($field2)->getName()->returns(Tracker::ASSIGNED_TO_FIELD_NAME);
     stub($field3)->getName()->returns(Tracker::IMPEDIMENT_FIELD_NAME);
     $card_presenter = mock('Cardwall_CardPresenter');
     stub($card_presenter)->getTitle()->returns($artifact_title);
     stub($card_presenter)->getXRef()->returns($cross_ref);
     stub($card_presenter)->getEditUrl()->returns($edit_url);
     stub($card_presenter)->getAccentColor()->returns($accent_color);
     stub($card_presenter)->getSwimlineId()->returns($swimline_id);
     $card_in_cell_presenter = mock('Cardwall_CardInCellPresenter');
     stub($card_in_cell_presenter)->getCardPresenter()->returns($card_presenter);
     stub($card_in_cell_presenter)->getDropIntoIds()->returns($drop_into);
     stub($card_in_cell_presenter)->getArtifact()->returns($artifact);
     stub($card_fields)->getFields()->returns(array($field1, $field2, $field3));
     $single_card = new Cardwall_SingleCard($card_in_cell_presenter, $card_fields, mock('Cardwall_UserPreferences_UserPreferencesDisplayUser'), 1111, mock('Cardwall_OnTop_Config_TrackerMapping'));
     $card_controller = new Cardwall_CardController(aRequest()->withUser(mock('PFUser'))->build(), $single_card);
     $expected = array($artifact_id => array('title' => $artifact_title, 'xref' => $cross_ref, 'edit_url' => $edit_url, 'accent_color' => $accent_color, 'column_id' => 1111, 'drop_into' => $drop_into, 'fields' => array('remaining_effort' => 5.1, 'assigned_to' => array(101, 201), 'impediment' => 236), 'html_fields' => array('remaining_effort' => '5.1', 'assigned_to' => '<a href', 'impediment' => '<span>Decorator</span>')));
     expect($GLOBALS['Response'])->sendJSON($expected)->once();
     $card_controller->getCard();
 }
Пример #2
0
 public function process(Codendi_Request $request)
 {
     switch ($request->get('action')) {
         case 'toggle_user_autostack_column':
             $display_preferences_controller = new Cardwall_UserPreferences_UserPreferencesController($request);
             $display_preferences_controller->toggleAutostack();
             break;
         case 'toggle_user_display_avatar':
             $display_preferences_controller = new Cardwall_UserPreferences_UserPreferencesController($request);
             $display_preferences_controller->toggleUserDisplay();
             break;
         case 'get-card':
             try {
                 $single_card_builder = new Cardwall_SingleCardBuilder($this->getConfigFactory(), new Cardwall_CardFields(UserManager::instance(), Tracker_FormElementFactory::instance()), Tracker_ArtifactFactory::instance(), PlanningFactory::build());
                 $controller = new Cardwall_CardController($request, $single_card_builder->getSingleCard($request->getCurrentUser(), $request->getValidated('id', 'uint', 0), $request->getValidated('planning_id', 'uint', 0)));
                 $controller->getCard();
             } catch (Exception $exception) {
                 $GLOBALS['Response']->addFeedback(Feedback::ERROR, $exception->getMessage());
                 $GLOBALS['Response']->sendStatusCode(400);
             }
             break;
         default:
             echo 'Hello !';
     }
 }