commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-new / views / tests / node / views_node_revision_relations.test
1 <?php
2
3 /**
4 * @file
5 * Definition of ViewsNodeRevisionRelationsTestCase.
6 */
7
8 /**
9 * Tests basic node_revision table integration into views.
10 */
11 class ViewsNodeRevisionRelationsTestCase extends ViewsSqlTest {
12
13 public static function getInfo() {
14 return array(
15 'name' => 'Tests basic node_revision integration',
16 'description' => 'Tests the integration of node_revision table of node module',
17 'group' => 'Views Modules',
18 );
19 }
20
21 /**
22 * Create a node with revision and rest result count for both views.
23 */
24 public function testNodeRevisionRelationship() {
25 $node = $this->drupalCreateNode();
26 // Create revision of the node.
27 $node_revision = clone $node;
28 $node_revision->revision = 1;
29 node_save($node_revision);
30 $column_map = array(
31 'vid' => 'vid',
32 'node_revision_nid' => 'node_revision_nid',
33 'node_node_revision_nid' => 'node_node_revision_nid',
34 );
35
36 // Here should be two rows.
37 $view_nid = $this->test_view_node_revision_nid();
38 $this->executeView($view_nid, array($node->nid));
39 $resultset_nid = array(
40 array(
41 'vid' => '1',
42 'node_revision_nid' => '1',
43 'node_node_revision_nid' => '1',
44 ),
45 array(
46 'vid' => '2',
47 'node_revision_nid' => '1',
48 'node_node_revision_nid' => '1',
49 ),
50 );
51 $this->assertIdenticalResultset($view_nid, $resultset_nid, $column_map);
52
53 // There should be only one row with active revision 2.
54 $view_vid = $this->test_view_node_revision_vid();
55 $this->executeView($view_vid, array($node->nid));
56 $resultset_vid = array(
57 array(
58 'vid' => '2',
59 'node_revision_nid' => '1',
60 'node_node_revision_nid' => '1',
61 ),
62 );
63 $this->assertIdenticalResultset($view_vid, $resultset_vid, $column_map);
64 }
65
66 /**
67 * Test view with default join on node.nid.
68 */
69 function test_view_node_revision_nid() {
70 $view = new view();
71 $view->name = 'test_node_revision_nid';
72 $view->description = '';
73 $view->tag = '';
74 $view->base_table = 'node_revision';
75 $view->human_name = 'Test node revision nid';
76 $view->core = 7;
77 $view->api_version = '3.0';
78 $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
79
80 /* Display: Master */
81 $handler = $view->new_display('default', 'Master', 'default');
82 $handler->display->display_options['use_more_always'] = FALSE;
83 $handler->display->display_options['access']['type'] = 'perm';
84 $handler->display->display_options['access']['perm'] = 'view revisions';
85 $handler->display->display_options['cache']['type'] = 'none';
86 $handler->display->display_options['query']['type'] = 'views_query';
87 $handler->display->display_options['exposed_form']['type'] = 'basic';
88 $handler->display->display_options['pager']['type'] = 'full';
89 $handler->display->display_options['style_plugin'] = 'default';
90 $handler->display->display_options['row_plugin'] = 'fields';
91 /* Relationship: Content revision: Content */
92 $handler->display->display_options['relationships']['nid']['id'] = 'nid';
93 $handler->display->display_options['relationships']['nid']['table'] = 'node_revision';
94 $handler->display->display_options['relationships']['nid']['field'] = 'nid';
95 $handler->display->display_options['relationships']['nid']['label'] = 'NID';
96 $handler->display->display_options['relationships']['nid']['required'] = TRUE;
97 /* Field: Content revision: Vid */
98 $handler->display->display_options['fields']['vid']['id'] = 'vid';
99 $handler->display->display_options['fields']['vid']['table'] = 'node_revision';
100 $handler->display->display_options['fields']['vid']['field'] = 'vid';
101 /* Field: Content revision: Nid */
102 $handler->display->display_options['fields']['nid_1']['id'] = 'nid_1';
103 $handler->display->display_options['fields']['nid_1']['table'] = 'node_revision';
104 $handler->display->display_options['fields']['nid_1']['field'] = 'nid';
105 /* Field: Content: Nid */
106 $handler->display->display_options['fields']['nid']['id'] = 'nid';
107 $handler->display->display_options['fields']['nid']['table'] = 'node';
108 $handler->display->display_options['fields']['nid']['field'] = 'nid';
109 $handler->display->display_options['fields']['nid']['relationship'] = 'nid';
110 /* Contextual filter: Content revision: Nid */
111 $handler->display->display_options['arguments']['nid']['id'] = 'nid';
112 $handler->display->display_options['arguments']['nid']['table'] = 'node_revision';
113 $handler->display->display_options['arguments']['nid']['field'] = 'nid';
114 $handler->display->display_options['arguments']['nid']['default_argument_type'] = 'fixed';
115 $handler->display->display_options['arguments']['nid']['summary']['number_of_records'] = '0';
116 $handler->display->display_options['arguments']['nid']['summary']['format'] = 'default_summary';
117 $handler->display->display_options['arguments']['nid']['summary_options']['items_per_page'] = '25';
118
119 return $view;
120 }
121
122 /**
123 * Test view with default join on node.vid.
124 */
125 function test_view_node_revision_vid() {
126 $view = new view();
127 $view->name = 'test_node_revision_vid';
128 $view->description = '';
129 $view->tag = '';
130 $view->base_table = 'node_revision';
131 $view->human_name = 'Test node revision vid';
132 $view->core = 7;
133 $view->api_version = '3.0';
134 $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
135
136 /* Display: Master */
137 $handler = $view->new_display('default', 'Master', 'default');
138 $handler->display->display_options['use_more_always'] = FALSE;
139 $handler->display->display_options['access']['type'] = 'perm';
140 $handler->display->display_options['access']['perm'] = 'view revisions';
141 $handler->display->display_options['cache']['type'] = 'none';
142 $handler->display->display_options['query']['type'] = 'views_query';
143 $handler->display->display_options['exposed_form']['type'] = 'basic';
144 $handler->display->display_options['pager']['type'] = 'full';
145 $handler->display->display_options['style_plugin'] = 'default';
146 $handler->display->display_options['row_plugin'] = 'fields';
147 /* Relationship: Content revision: Content */
148 $handler->display->display_options['relationships']['vid']['id'] = 'vid';
149 $handler->display->display_options['relationships']['vid']['table'] = 'node_revision';
150 $handler->display->display_options['relationships']['vid']['field'] = 'vid';
151 $handler->display->display_options['relationships']['vid']['label'] = 'VID';
152 $handler->display->display_options['relationships']['vid']['required'] = TRUE;
153 /* Field: Content revision: Vid */
154 $handler->display->display_options['fields']['vid']['id'] = 'vid';
155 $handler->display->display_options['fields']['vid']['table'] = 'node_revision';
156 $handler->display->display_options['fields']['vid']['field'] = 'vid';
157 /* Field: Content revision: Nid */
158 $handler->display->display_options['fields']['nid_1']['id'] = 'nid_1';
159 $handler->display->display_options['fields']['nid_1']['table'] = 'node_revision';
160 $handler->display->display_options['fields']['nid_1']['field'] = 'nid';
161 /* Field: Content: Nid */
162 $handler->display->display_options['fields']['nid']['id'] = 'nid';
163 $handler->display->display_options['fields']['nid']['table'] = 'node';
164 $handler->display->display_options['fields']['nid']['field'] = 'nid';
165 $handler->display->display_options['fields']['nid']['relationship'] = 'vid';
166 /* Contextual filter: Content revision: Nid */
167 $handler->display->display_options['arguments']['nid']['id'] = 'nid';
168 $handler->display->display_options['arguments']['nid']['table'] = 'node_revision';
169 $handler->display->display_options['arguments']['nid']['field'] = 'nid';
170 $handler->display->display_options['arguments']['nid']['default_argument_type'] = 'fixed';
171 $handler->display->display_options['arguments']['nid']['summary']['number_of_records'] = '0';
172 $handler->display->display_options['arguments']['nid']['summary']['format'] = 'default_summary';
173 $handler->display->display_options['arguments']['nid']['summary_options']['items_per_page'] = '25';
174
175 return $view;
176 }
177 }