Commit | Line | Data |
---|---|---|
6a488035 TO |
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) { | |
2241036a | 44 | test("#" + caseIndex + ": With group_type=" + caseDetails.group_type, function() { |
6a488035 TO |
45 | var ufGroupModel = new CRM.UF.UFGroupModel({ |
46 | group_type: caseDetails.group_type | |
47 | }); | |
48 | equal(ufGroupModel.checkGroupType(caseDetails.validTypes), caseDetails.expected); | |
49 | }); | |
50 | }); |