Skip to content

Commit

Permalink
tests for case type edit screen
Browse files Browse the repository at this point in the history
  • Loading branch information
demeritcowboy committed Oct 3, 2019
1 parent 23e3ece commit f570a70
Showing 1 changed file with 94 additions and 0 deletions.
94 changes: 94 additions & 0 deletions tests/karma/unit/crmCaseTypeSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,18 @@ describe('crmCaseType', function() {
"is_reserved": "0",
"is_active": "1"
},
{
"id": "10",
"name_a_b": "Homeless Services Coordinator is",
"label_a_b": "Homeless Services Coordinator is",
"name_b_a": "Homeless Services Coordinator",
"label_b_a": "Homeless Services Coordinator",
"description": "Homeless Services Coordinator",
"contact_type_a": "Individual",
"contact_type_b": "Individual",
"is_reserved": "0",
"is_active": "1"
},
{
"id": "2",
"name_a_b": "Spouse of",
Expand All @@ -196,9 +208,24 @@ describe('crmCaseType', function() {
"contact_type_b": "Individual",
"is_reserved": "0",
"is_active": "1"
},
// include one where name is different from label
{
"id": "27",
"name_a_b": "GA123ab",
"label_a_b": "Guardian Angel is",
"name_b_a": "GA123ba",
"label_b_a": "Guardian Angel for",
"description": "Guardian Angel.",
"contact_type_a": "Individual",
"contact_type_b": "Individual",
"is_reserved": "0",
"is_active": "1"
}
]
},
// Where is this used in the tests?
// It seems to be in the format for the activity assignee.
relTypesForm: {
values: [
{
Expand Down Expand Up @@ -453,6 +480,73 @@ describe('crmCaseType', function() {
}]);
});
});

describe('when adding a role', function() {
beforeEach(inject(function ($controller) {
ctrl = $controller('CaseTypeCtrl', {$scope: scope, apiCalls: apiCalls});
}));

it('updates the case roles', function() {

// This line sort of simulates selecting a relationship type from the
// dropdown. It doesn't test that clicking picks the right value to
// add, just that if it did then the function that gets called does
// the right thing with it.
// Note the value returned by the dropdown is "backwards", e.g.
// for the client perspective direction the dropdown returns the other
// direction, which is also what's stored in the xml.
scope.addRole(scope.caseType.definition.caseRoles, 'Case Coordinator');

expect(scope.caseType.definition.caseRoles).toEqual(
[
{
name: 'Homeless Services Coordinator',
creator: '1',
manager: '1',
displaylabel: 'Homeless Services Coordinator is'
},
{
name: 'Case Coordinator',
displaylabel: 'Case Coordinator is'
}
]
);
});

it('updates case roles if choose non-client-perspective direction', function() {
// again, the dropdown returns the opposite direction
scope.addRole(scope.caseType.definition.caseRoles, 'Homeless Services Coordinator is');
expect(scope.caseType.definition.caseRoles).toEqual(
[
{
name: 'Homeless Services Coordinator',
creator: '1',
manager: '1',
displaylabel: 'Homeless Services Coordinator is'
},
{
name: 'Homeless Services Coordinator is',
displaylabel: 'Homeless Services Coordinator'
}
]
);
});

it("doesn't add the same role twice", function() {
// This is in the mock casetype to start, so check if can add twice.
scope.addRole(scope.caseType.definition.caseRoles, 'Homeless Services Coordinator');
expect(scope.caseType.definition.caseRoles).toEqual(
[
{
name: 'Homeless Services Coordinator',
creator: '1',
manager: '1',
displaylabel: 'Homeless Services Coordinator is'
}
]
);
});
});
});

describe('crmAddName', function () {
Expand Down

0 comments on commit f570a70

Please sign in to comment.