function testOther_developing_proposals_allowed() { $db_config = new mock_db_configure(3); $db_q = array(0 => $this->queries["other_developing_proposals_allowed"]); $db_d = $this->_generate_records(array("proid"), 3); $rows = $this->_generate_records(array("other_developing_proposals"), 2); $db_config->add_query(sprintf($db_q[0], $db_d[0]["proid"]), 0); $db_config->add_query(sprintf($db_q[0], $db_d[1]["proid"]), 1); $db_config->add_query(sprintf($db_q[0], $db_d[2]["proid"]), 2); $rows[0]["other_developing_proposals"] = "No"; $db_config->add_record($rows[0], 0); $this->assertEquals(0, other_developing_proposals_allowed($db_d[0]["proid"])); $rows[1]["other_developing_proposals"] = "Yes"; $db_config->add_record($rows[1], 1); $this->assertEquals(1, other_developing_proposals_allowed($db_d[1]["proid"])); // no data call, complains about other_developing_proposals // not being set, ignore it. $db_config->ignore_errors(MKDB_FIELD_SET, 2); $this->assertEquals(0, other_developing_proposals_allowed($db_d[2]["proid"])); // if using a database, then ensure that it didn't fail $this->_check_db($db_config); }
function testPersonal_news_short() { global $bx; $user1 = "fubar"; $user2 = "snafu"; $user3 = "fritz"; $db_config = new mock_db_configure(10); $db_q = array(0 => "SELECT * FROM news WHERE user_news='%s'", 1 => "SELECT COUNT(*) FROM comments WHERE proid=" . "'%s' AND type='News' AND ref='%s'", 2 => "SELECT * FROM description WHERE proid='%s'"); $db_config->add_query(sprintf($db_q[0], $user1), 0); $db_config->add_query(sprintf($db_q[0], $user2), 1); $db_config->add_query(sprintf($db_q[0], $user3), 4); // news_short calls the num_row method twice instead of once $db_config->add_num_row(0, 0); // fubar generates zero $db_config->add_num_row(0, 0); // fubar generates zero $db_config->add_record(false, 0); $db_config->add_num_row(2, 1); // snafu generates 2 results $db_config->add_num_row(2, 1); // snafu generates 2 results $db_config->add_num_row(7, 4); // fritz generates 7 results $db_config->add_num_row(7, 4); // fritz generates 7 results // instance 4 does not use all of its defined records because // news_short only displays the first 5 records, this means that // instance four has 2 too many records, ignore that error. $db_config->ignore_errors(MKDB_RECORD_COUNT, 4); $cols = array('id', 'proid', 'subject_news', 'creation_news'); $row1 = $this->_generate_array($cols, 1); $db_config->add_record($row1, 1); $row2 = $this->_generate_array($cols, 2); $db_config->add_record($row2, 1); $db_config->add_record(false, 1); // the 7 records of fritz query $row7 = $this->_generate_array($cols, 7); $db_config->add_record($row7, 4); $row8 = $this->_generate_array($cols, 8); $db_config->add_record($row8, 4); $row9 = $this->_generate_array($cols, 9); $db_config->add_record($row9, 4); $row10 = $this->_generate_array($cols, 10); $db_config->add_record($row10, 4); $row11 = $this->_generate_array($cols, 11); $db_config->add_record($row11, 4); $row12 = $this->_generate_array($cols, 12); $db_config->add_record($row12, 4); $row13 = $this->_generate_array($cols, 13); $db_config->add_record($row13, 4); // third&fourth instances created as part of the snafu query $db_config->add_query(sprintf($db_q[1], $row1['proid'], $row1['id']), 2); $db_config->add_query(sprintf($db_q[2], $row1['proid']), 2); $db_config->add_query(sprintf($db_q[1], $row2['proid'], $row2['id']), 3); $db_config->add_query(sprintf($db_q[2], $row2['proid']), 3); $row3 = array('COUNT(*)' => 'count star value row3'); $db_config->add_record($row3, 2); $row4 = array('proid' => 'project_id_row4', 'project_title' => 'project title row4'); $db_config->add_record($row4, 2); $row5 = array('COUNT(*)' => 'count star value row5'); $db_config->add_record($row5, 3); $row6 = array('proid' => 'project_id_row6', 'project_title' => 'project title row6'); $db_config->add_record($row6, 3); // fritz sub-queries $db_config->add_query(sprintf($db_q[1], $row7['proid'], $row7['id']), 5); $db_config->add_query(sprintf($db_q[2], $row7['proid']), 5); $db_config->add_query(sprintf($db_q[1], $row8['proid'], $row8['id']), 6); $db_config->add_query(sprintf($db_q[2], $row8['proid']), 6); $db_config->add_query(sprintf($db_q[1], $row9['proid'], $row9['id']), 7); $db_config->add_query(sprintf($db_q[2], $row9['proid']), 7); $db_config->add_query(sprintf($db_q[1], $row10['proid'], $row10['id']), 8); $db_config->add_query(sprintf($db_q[2], $row10['proid']), 8); $db_config->add_query(sprintf($db_q[1], $row11['proid'], $row11['id']), 9); $db_config->add_query(sprintf($db_q[2], $row11['proid']), 9); $db_config->add_query(sprintf($db_q[1], $row12['proid'], $row12['id']), 10); $db_config->add_query(sprintf($db_q[2], $row12['proid']), 10); $db_config->add_query(sprintf($db_q[1], $row13['proid'], $row13['id']), 11); $db_config->add_query(sprintf($db_q[2], $row13['proid']), 11); $row14 = array('COUNT(*)' => 'count star value row14'); $db_config->add_record($row14, 5); $row15 = array('proid' => 'project_id_row15', 'project_title' => 'project title row15'); $db_config->add_record($row15, 5); $row16 = array('COUNT(*)' => 'count star value row16'); $db_config->add_record($row16, 6); $row17 = array('proid' => 'project_id_row17', 'project_title' => 'project title row17'); $db_config->add_record($row17, 6); $row18 = array('COUNT(*)' => 'count star value row18'); $db_config->add_record($row18, 7); $row19 = array('proid' => 'project_id_row19', 'project_title' => 'project title row19'); $db_config->add_record($row19, 7); $row20 = array('COUNT(*)' => 'count star value row20'); $db_config->add_record($row20, 8); $row21 = array('proid' => 'project_id_row21', 'project_title' => 'project title row21'); $db_config->add_record($row21, 8); $row22 = array('COUNT(*)' => 'count star value row22'); $db_config->add_record($row22, 9); $row23 = array('proid' => 'project_id_row23', 'project_title' => 'project title row23'); $db_config->add_record($row23, 9); $row24 = array('COUNT(*)' => 'count star value row24'); $db_config->add_record($row24, 10); $row25 = array('proid' => 'project_id_row25', 'project_title' => 'project title row25'); $db_config->add_record($row25, 10); $row26 = array('COUNT(*)' => 'count star value row26'); $db_config->add_record($row26, 11); $row27 = array('proid' => 'project_id_row27', 'project_title' => 'project title row27'); $db_config->add_record($row27, 11); // // fubar query // $bx = $this->_create_default_box(); capture_reset_and_start(); // here next_record will not be called personal_news_short($user1); $this->set_text(capture_stop_and_get()); $this->set_msg('test 1'); $this->_testFor_string_length(718); $this->_testFor_pattern("Last 5 News by " . $user1); $this->_testFor_pattern("no news posted\n"); $this->reverse_next_test(); $this->_testFor_pattern('See all the comments...'); // // snafu query // $bx = $this->_create_default_box(); capture_reset_and_start(); // here next_record will not be called personal_news_short($user2); $this->set_text(capture_stop_and_get()); $this->set_msg('test 2'); $this->_testFor_string_length(1195); $this->_testFor_pattern("Last 5 News by " . $user2); $this->reverse_next_test(); $this->_testFor_pattern('no news posted'); $this->reverse_next_test(); $this->_testFor_pattern('See all the comments...'); $this->_testFor_news_link($row1['proid'], $row1['subject_news'], $row3['COUNT(*)'], $row4['proid'], $row4['project_title']); $this->_testFor_news_link($row2['proid'], $row2['subject_news'], $row5['COUNT(*)'], $row6['proid'], $row6['project_title']); // // fritz query // $bx = $this->_create_default_box(); capture_reset_and_start(); // here next_record will not be called personal_news_short($user3); $this->set_text(capture_stop_and_get()); $this->set_msg('test 3'); $this->_testFor_string_length(2032); $this->_testFor_pattern("Last 5 News by " . $user3); $this->reverse_next_test(); $this->_testFor_pattern('no news posted'); $this->_testFor_pattern("See all the comments..."); $this->_testFor_news_link($row7['proid'], $row7['subject_news'], $row14['COUNT(*)'], $row15['proid'], $row15['project_title']); $this->_testFor_news_link($row8['proid'], $row8['subject_news'], $row16['COUNT(*)'], $row17['proid'], $row17['project_title']); $this->_testFor_news_link($row9['proid'], $row9['subject_news'], $row18['COUNT(*)'], $row19['proid'], $row19['project_title']); $this->_testFor_news_link($row10['proid'], $row10['subject_news'], $row20['COUNT(*)'], $row21['proid'], $row21['project_title']); $this->_testFor_news_link($row11['proid'], $row11['subject_news'], $row22['COUNT(*)'], $row23['proid'], $row23['project_title']); $this->reverse_next_test(); $this->_testFor_pattern(sprintf($this->p_news_long_template, $row12['proid'], $row12['subject_news'], $row26['COUNT(*)'], $row27['proid'], $row27['project_title'])); $this->_testFor_pattern("See all the comments..."); // if using a database, then ensure that it didn't fail $this->_check_db($db_config); }