commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-new / civicrm / tests / qunit / profile-editor / test.js
1 module('parseTypeList');
2
3 var explodeCases = [
4 {group_type: '', expected: {coreTypes: {}, subTypes: {}}},
5 {group_type: 'Individual', expected: {coreTypes: {'Individual': true}, subTypes: {}}},
6 {group_type: 'Activity,Contact', expected: {coreTypes: {'Activity':true, 'Contact': true}, subTypes: {}}},
7 {group_type: 'Individual,Activity,Student\0ActivityType:2:28', expected: {coreTypes: {'Individual':true, 'Activity': true, 'Student': true}, subTypes: {"ActivityType":{"2": true, "28": true}}}},
8 {group_type: 'Individual,Activity,Student;;ActivityType:2:28', expected: {coreTypes: {'Individual':true, 'Activity': true, 'Student': true}, subTypes: {"ActivityType":{"2": true, "28": true}}}},
9 {group_type: ['Individual,Activity,Student','ActivityType:2:28'], expected: {coreTypes: {'Individual':true, 'Activity': true, 'Student': true}, subTypes: {"ActivityType":{"2": true, "28": true}}}}
10 ];
11
12 _.each(explodeCases, function(explodeCase, explodeCaseIndex) {
13 test("#" + explodeCaseIndex + ": With group_type=" + explodeCase.group_type, function() {
14 deepEqual(CRM.UF.parseTypeList(explodeCase.group_type), explodeCase.expected);
15 });
16 });
17
18 module('UFGroupModel.checkGroupType');
19
20 /**
21 * For a description of group_type, see CRM_Core_BAO_UFGroup::updateGroupTypes
22 */
23
24 var cases = [
25 {group_type: null, validTypes: 'Individual,Contact,Activity', expected: true},
26 {group_type: '', validTypes: 'Individual,Contact,Activity', expected: true},
27 {group_type: 'Individual,Event', validTypes: 'Individual, Contact,Activity', expected: false},
28 {group_type: 'Individual,Event', validTypes: 'Individual', expected: false},
29 {group_type: 'Individual,Event', validTypes: 'Event,Individual', expected: true},
30 {group_type: 'Individual', validTypes: 'Individual,Contact,Activity', expected: true},
31 {group_type: 'Activity,Contact', validTypes: 'Individual,Contact,Activity', expected: true},
32 {group_type: 'Activity,Contact', validTypes: 'Individual,Contact,Activity\0ActivityType:28', expected: true},
33 {group_type: 'Individual,Activity\0ActivityType:2', validTypes: 'Individual,Contact,Activity', expected: false},
34 {group_type: 'Individual,Activity\0ActivityType:2', validTypes: 'Individual,Contact,Activity\0ActivityType:28', expected: false},
35 {group_type: 'Individual,Activity\0ActivityType:28', validTypes: 'Individual,Contact,Activity', expected: false},
36 {group_type: 'Individual,Activity\0ActivityType:28', validTypes: 'Individual,Contact,Activity\0ActivityType:28', expected: true},
37 {group_type: 'Individual,Activity\0ActivityType:2:28', validTypes: 'Individual,Contact,Activity', expected: false},
38 {group_type: 'Individual,Activity\0ActivityType:2:28', validTypes: 'Individual,Contact,Activity\0ActivityType:28', expected: true},
39 {group_type: 'Individual,Activity,Student\0ActivityType:28', validTypes: 'Individual,Contact,Activity\0ActivityType:28', expected: false},
40 {group_type: 'Individual,Activity,Student\0ActivityType:28', validTypes: 'Individual,Student,Contact,Activity\0ActivityType:28', expected: true}
41 ];
42
43 _.each(cases, function(caseDetails, caseIndex) {
44 test("#" + caseIndex + ": With group_type=" + caseDetails.group_type, function() {
45 var ufGroupModel = new CRM.UF.UFGroupModel({
46 group_type: caseDetails.group_type
47 });
48 equal(ufGroupModel.checkGroupType(caseDetails.validTypes), caseDetails.expected);
49 });
50 });