JSFiddle - React, Tailwind, and code Playground
by themyth92
HTML
<script src="http://jasmine.github.io/1.3/lib/jasmine.js"></script>
<script src="http://jasmine.github.io/1.3/lib/jasmine-html.js"></script>
<link rel="stylesheet" href="http://jasmine.github.io/1.3/lib/jasmine.css">
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-mocks.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-data/1.8.0/js-data.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-data-angular/2.4.0/js-data-angular.min.js"></script>
JavaScript
//--- CODE --------------------------
(function (angular) {
angular.module('dash.models', ['js-data'])
.factory('Diagnosis', ['DS', function (DS) {
function transform(resourcename, attrs, cb) {
attrs.icd9codes.forEach(function (el) {
delete el.add;
});
cb(null, attrs);
}
this.transform = transform;
return DS.defineResource({
name: 'diagnosis',
idAttribute: 'id',
endpoint: '/diagnosis',
baseUrl: '/api',
beforeCreate: transform,
beforeUpdate: transform
});
}])
.controller('myCtrl', function(Diagnosis, $scope){
var startEditing = $scope.startEditing = function(parentScope, diagnosis) {
return Diagnosis.findAll({
deep:true
}, {
endpoint: '/diagnosis/' + diagnosis.id
}).then(function(d) {
$scope.diagnosis = d;
$scope.inScope = true;
});
};
})
})(angular);
// ---SPECS-------------------------
describe('ctrl', function () {
beforeEach(module('dash.models'));
var myCtrl, scope, Diagnosis, mockData;
beforeEach(inject(function (_$controller_, _$rootScope_, _Diagnosis_, _$q_) {
scope = _$rootScope_.$new();
Diagnosis = _Diagnosis_;
myCtrl = _$controller_('myCtrl', {
$scope: scope,
});
var diagDeferred = _$q_.defer();
mockData = {
'name': 'Breast',
'categories': null,
'id': '026c7cd0-14ef-4312-a8f1-2092107b0e50',
'icd9codes': [{id: '1', code: '001', description: 'ICD9 Code'}]
}
diagDeferred.resolve(mockData);
spyOn(Diagnosis, 'findAll').andReturn(diagDeferred.promise);
}));
it('should get details', function () {
scope.startEditing(null, mockData).then(function(){
...