4 * Provide data to the CRM_Mailing_BAO_QueryTest class
8 class CRM_Mailing_BAO_QueryTestDataProvider
implements Iterator
{
17 * This dataset describes various form values and what contact
18 * IDs should be selected when the form values are applied to the
19 * database in dataset.xml
21 private $dataset = array(
23 'fv' => array('mailing_name' => 'First%', 'mailing_open_status' => 'Y'),
24 'id' => array(109, 110, 111, 112),
27 'fv' => array('mailing_name' => 'First%', 'mailing_open_status' => 'N'),
28 'id' => array(102, 103, 104, 105, 108),
33 'mailing_name' => 'First%',
34 'mailing_delivery_status'
42 'mailing_name' => 'First%',
43 'mailing_delivery_status'
46 'id' => array(102, 103, 104, 108, 109, 110, 111, 112),
49 'fv' => array('mailing_name' => 'First%', 'mailing_reply_status' => 'Y'),
50 'id' => array(103, 108, 110, 112),
53 'fv' => array('mailing_name' => 'First%', 'mailing_reply_status' => 'N'),
54 'id' => array(102, 104, 105, 109, 111),
57 'fv' => array('mailing_name' => 'First%', 'mailing_click_status' => 'Y'),
58 'id' => array(104, 108, 111, 112),
61 'fv' => array('mailing_name' => 'First%', 'mailing_click_status' => 'N'),
62 'id' => array(102, 103, 105, 109, 110),
67 'mailing_name' => 'Second%',
68 'mailing_delivery_status'
76 'mailing_name' => 'Second%',
77 'mailing_delivery_status'
80 'id' => array(102, 103, 104, 108, 109, 110, 111, 112),
83 'fv' => array('mailing_name' => 'Second%', 'mailing_reply_status' => 'Y'),
87 'fv' => array('mailing_name' => 'Second%', 'mailing_click_status' => 'Y'),
91 'fv' => array('mailing_name' => 'Second%', 'mailing_click_status' => 'N'),
92 'id' => array(102, 103, 108, 109, 110, 111, 112),
95 'fv' => array('mailing_date_high' => '2011-05-25', 'mailing_open_status' => 'Y'),
96 'id' => array(109, 110, 111, 112),
99 'fv' => array('mailing_date_high' => '2011-05-25', 'mailing_open_status' => 'N'),
100 'id' => array(102, 103, 104, 105, 108),
103 'fv' => array('mailing_date_low' => '2011-05-26', 'mailing_open_status' => 'Y'),
107 'fv' => array('mailing_date_low' => '2011-05-26', 'mailing_open_status' => 'N'),
108 'id' => array(103, 104, 108, 109, 110, 111, 112),
112 public function _construct() {
116 public function rewind() {
123 public function current() {
124 $count = count($this->dataset
[$this->i
]['id']);
125 $ids = $this->dataset
[$this->i
]['id'];
127 foreach ($this->dataset
[$this->i
]['id'] as $key => $value) {
129 'contact_id' => $value,
130 'contact_type' => 'Individual',
131 'sort_name' => "Test Contact $value",
134 return array($this->dataset
[$this->i
]['fv'], $count, $ids, $full);
140 public function key() {
144 public function next() {
151 public function valid() {
152 return isset($this->dataset
[$this->i
]);