Skip to content

Commit ccbd8b8

Browse files
committed
removed ngScenario from the unit tests
1 parent 04c9c8c commit ccbd8b8

6 files changed

Lines changed: 65 additions & 51 deletions

File tree

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,18 @@ $scope.reset = function() {
7777
}
7878
```
7979

80+
## Development
81+
82+
### Install Development Dependencies
83+
Before you begin development, you will need to install the required node modules and bower components. To do
84+
so, open a terminal window in the project directory and run the following commands.
85+
```
86+
npm install
87+
bower install
88+
```
89+
90+
### Compile and Run the Unit Tests
91+
Run the following command from a terminal window to automatically compile and run the unit tests whenever you save changes to the source files.
92+
```
93+
grunt karma:unit:start watch
94+
```

karma.conf.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module.exports = function(config) {
99

1010

1111
// frameworks to use
12-
frameworks: ['jasmine', 'ng-scenario'],
12+
frameworks: ['jasmine'],
1313

1414

1515
// list of files / patterns to load in the browser

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
"main": "src/showErrors.js",
99
"dependencies": {},
1010
"devDependencies": {
11+
"bower": "^1.3.9",
1112
"grunt": "0.4.1",
12-
"grunt-karma": "0.6.2",
13-
"matchdep": "0.3.0",
14-
"grunt-contrib-uglify": "~0.2.5",
1513
"grunt-contrib-coffee": "~0.7.0",
16-
"grunt-ngmin": "0.0.3",
14+
"grunt-contrib-uglify": "~0.2.5",
1715
"grunt-contrib-watch": "~0.5.3",
18-
"karma-ng-scenario": "~0.1.0"
16+
"grunt-karma": "0.6.2",
17+
"grunt-ngmin": "0.0.3",
18+
"matchdep": "0.3.0"
1919
},
2020
"scripts": {
2121
"test": "grunt --verbose"

src/showErrors.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/showErrors.spec.coffee

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ describe 'showErrors', ->
2323
</div>
2424
</form>'
2525
)($scope)
26+
angular.element(document.body).append el
2627
$scope.$digest()
2728
el
2829

@@ -32,11 +33,9 @@ describe 'showErrors', ->
3233
firstNameEl = (el) ->
3334
find el, '[name=firstName]'
3435

35-
firstNameGroup = (el) ->
36-
angular.element find(el, '#first-name-group')
37-
3836
expectFormGroupHasErrorClass = (el) ->
39-
expect(firstNameGroup(el).hasClass('has-error'))
37+
formGroup = el[0].querySelector '[id=first-name-group]'
38+
expect angular.element(formGroup).hasClass('has-error')
4039

4140
describe 'directive does not contain an input element with a name attribute', ->
4241
it 'throws an exception', ->
@@ -63,29 +62,29 @@ describe 'showErrors', ->
6362
it 'has-error is present', ->
6463
el = compileEl()
6564
$scope.userForm.firstName.$setViewValue invalidName
66-
browserTrigger firstNameEl(el), 'blur'
65+
angular.element(firstNameEl(el)).triggerHandler 'blur'
66+
$scope.$digest()
6767
expectFormGroupHasErrorClass(el).toBe true
68-
describe 'not blurred', ->
6968

7069
describe '$dirty && $invalid && not blurred', ->
7170
it 'has-error is absent', ->
7271
el = compileEl()
7372
$scope.userForm.firstName.$setViewValue invalidName
74-
browserTrigger firstNameEl(el), 'keydown'
73+
angular.element(firstNameEl(el)).triggerHandler 'keydown'
7574
expectFormGroupHasErrorClass(el).toBe false
7675

7776
describe '$valid && blurred', ->
7877
it 'has-error is absent', ->
7978
el = compileEl()
8079
$scope.userForm.firstName.$setViewValue validName
81-
browserTrigger firstNameEl(el), 'blur'
80+
angular.element(firstNameEl(el)).triggerHandler 'blur'
8281
expectFormGroupHasErrorClass(el).toBe false
8382

8483
describe '$valid && blurred then becomes $invalid before blurred', ->
8584
it 'has-error is present', ->
8685
el = compileEl()
8786
$scope.userForm.firstName.$setViewValue validName
88-
browserTrigger firstNameEl(el), 'blur'
87+
angular.element(firstNameEl(el)).triggerHandler 'blur'
8988
$scope.$apply ->
9089
$scope.userForm.firstName.$setViewValue invalidName
9190
expectFormGroupHasErrorClass(el).toBe true
@@ -94,7 +93,7 @@ describe 'showErrors', ->
9493
it 'has-error is absent', ->
9594
el = compileEl()
9695
$scope.userForm.firstName.$setViewValue validName
97-
browserTrigger firstNameEl(el), 'blur'
96+
angular.element(firstNameEl(el)).triggerHandler 'blur'
9897
$scope.$apply ->
9998
$scope.userForm.firstName.$setViewValue invalidName
10099
$scope.$apply ->
@@ -105,28 +104,28 @@ describe 'showErrors', ->
105104
it 'has-error is present', ->
106105
el = compileEl()
107106
$scope.userForm.firstName.$setViewValue validName
108-
browserTrigger firstNameEl(el), 'blur'
107+
angular.element(firstNameEl(el)).triggerHandler 'blur'
109108
$scope.userForm.firstName.$setViewValue invalidName
110-
browserTrigger firstNameEl(el), 'blur'
109+
angular.element(firstNameEl(el)).triggerHandler 'blur'
111110
expectFormGroupHasErrorClass(el).toBe true
112111

113112
describe '$valid && blurred then $invalid after blurred then $valid after blurred', ->
114113
it 'has-error is absent', ->
115114
el = compileEl()
116115
$scope.userForm.firstName.$setViewValue validName
117-
browserTrigger firstNameEl(el), 'blur'
116+
angular.element(firstNameEl(el)).triggerHandler 'blur'
118117
$scope.userForm.firstName.$setViewValue invalidName
119-
browserTrigger firstNameEl(el), 'blur'
118+
angular.element(firstNameEl(el)).triggerHandler 'blur'
120119
$scope.userForm.firstName.$setViewValue validName
121-
browserTrigger firstNameEl(el), 'blur'
120+
angular.element(firstNameEl(el)).triggerHandler 'blur'
122121
expectFormGroupHasErrorClass(el).toBe false
123122

124123
describe '$valid && other input is $invalid && blurred', ->
125124
it 'has-error is absent', ->
126125
el = compileEl()
127126
$scope.userForm.firstName.$setViewValue validName
128127
$scope.userForm.lastName.$setViewValue invalidName
129-
browserTrigger firstNameEl(el), 'blur'
128+
angular.element(firstNameEl(el)).triggerHandler 'blur'
130129
expectFormGroupHasErrorClass(el).toBe false
131130

132131
describe '$invalid && showErrorsCheckValidity is set before blurred', ->
@@ -142,7 +141,7 @@ describe 'showErrors', ->
142141
$scope.userForm.firstName.$setViewValue invalidName
143142
$scope.$broadcast 'show-errors-check-validity'
144143
$scope.userForm.firstName.$setViewValue validName
145-
browserTrigger firstNameEl(el), 'blur'
144+
angular.element(firstNameEl(el)).triggerHandler 'blur'
146145
$scope.userForm.firstName.$setViewValue invalidName
147146
$scope.$apply ->
148147
$scope.showErrorsCheckValidity = true
@@ -152,7 +151,7 @@ describe 'showErrors', ->
152151
it 'removes has-error', ->
153152
el = compileEl()
154153
$scope.userForm.firstName.$setViewValue invalidName
155-
browserTrigger firstNameEl(el), 'blur'
154+
angular.element(firstNameEl(el)).triggerHandler 'blur'
156155
$scope.$broadcast 'show-errors-reset'
157156
$timeout.flush()
158157
expectFormGroupHasErrorClass(el).toBe false
@@ -161,7 +160,7 @@ describe 'showErrors', ->
161160
it 'has-error is absent', ->
162161
el = compileEl()
163162
$scope.userForm.firstName.$setViewValue validName
164-
browserTrigger firstNameEl(el), 'blur'
163+
angular.element(firstNameEl(el)).triggerHandler 'blur'
165164
$scope.$broadcast 'show-errors-reset'
166165
$timeout.flush()
167166
$scope.$apply ->
@@ -172,10 +171,10 @@ describe 'showErrors', ->
172171
it 'removes has-error', ->
173172
el = compileEl()
174173
$scope.userForm.firstName.$setViewValue invalidName
175-
browserTrigger firstNameEl(el), 'blur'
174+
angular.element(firstNameEl(el)).triggerHandler 'blur'
176175
$scope.$broadcast 'show-errors-reset'
177176
$timeout.flush()
178-
browserTrigger firstNameEl(el), 'blur'
177+
angular.element(firstNameEl(el)).triggerHandler 'blur'
179178
$scope.$broadcast 'show-errors-reset'
180179
$timeout.flush()
181180
expectFormGroupHasErrorClass(el).toBe false

test/showErrors.spec.js

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
(function() {
22
describe('showErrors', function() {
3-
var $compile, $scope, $timeout, compileEl, expectFormGroupHasErrorClass, find, firstNameEl, firstNameGroup, invalidName, validName;
3+
var $compile, $scope, $timeout, compileEl, expectFormGroupHasErrorClass, find, firstNameEl, invalidName, validName;
44
$compile = void 0;
55
$scope = void 0;
66
$timeout = void 0;
@@ -22,6 +22,7 @@
2222
<input type="text" name="lastName" ng-model="lastName" ng-minlength="3" />\
2323
</div>\
2424
</form>')($scope);
25+
angular.element(document.body).append(el);
2526
$scope.$digest();
2627
return el;
2728
};
@@ -31,11 +32,10 @@
3132
firstNameEl = function(el) {
3233
return find(el, '[name=firstName]');
3334
};
34-
firstNameGroup = function(el) {
35-
return angular.element(find(el, '#first-name-group'));
36-
};
3735
expectFormGroupHasErrorClass = function(el) {
38-
return expect(firstNameGroup(el).hasClass('has-error'));
36+
var formGroup;
37+
formGroup = el[0].querySelector('[id=first-name-group]');
38+
return expect(angular.element(formGroup).hasClass('has-error'));
3939
};
4040
describe('directive does not contain an input element with a name attribute', function() {
4141
return it('throws an exception', function() {
@@ -66,17 +66,17 @@
6666
var el;
6767
el = compileEl();
6868
$scope.userForm.firstName.$setViewValue(invalidName);
69-
browserTrigger(firstNameEl(el), 'blur');
70-
expectFormGroupHasErrorClass(el).toBe(true);
71-
return describe('not blurred', function() {});
69+
angular.element(firstNameEl(el)).triggerHandler('blur');
70+
$scope.$digest();
71+
return expectFormGroupHasErrorClass(el).toBe(true);
7272
});
7373
});
7474
describe('$dirty && $invalid && not blurred', function() {
7575
return it('has-error is absent', function() {
7676
var el;
7777
el = compileEl();
7878
$scope.userForm.firstName.$setViewValue(invalidName);
79-
browserTrigger(firstNameEl(el), 'keydown');
79+
angular.element(firstNameEl(el)).triggerHandler('keydown');
8080
return expectFormGroupHasErrorClass(el).toBe(false);
8181
});
8282
});
@@ -85,7 +85,7 @@
8585
var el;
8686
el = compileEl();
8787
$scope.userForm.firstName.$setViewValue(validName);
88-
browserTrigger(firstNameEl(el), 'blur');
88+
angular.element(firstNameEl(el)).triggerHandler('blur');
8989
return expectFormGroupHasErrorClass(el).toBe(false);
9090
});
9191
});
@@ -94,7 +94,7 @@
9494
var el;
9595
el = compileEl();
9696
$scope.userForm.firstName.$setViewValue(validName);
97-
browserTrigger(firstNameEl(el), 'blur');
97+
angular.element(firstNameEl(el)).triggerHandler('blur');
9898
$scope.$apply(function() {
9999
return $scope.userForm.firstName.$setViewValue(invalidName);
100100
});
@@ -106,7 +106,7 @@
106106
var el;
107107
el = compileEl();
108108
$scope.userForm.firstName.$setViewValue(validName);
109-
browserTrigger(firstNameEl(el), 'blur');
109+
angular.element(firstNameEl(el)).triggerHandler('blur');
110110
$scope.$apply(function() {
111111
return $scope.userForm.firstName.$setViewValue(invalidName);
112112
});
@@ -121,9 +121,9 @@
121121
var el;
122122
el = compileEl();
123123
$scope.userForm.firstName.$setViewValue(validName);
124-
browserTrigger(firstNameEl(el), 'blur');
124+
angular.element(firstNameEl(el)).triggerHandler('blur');
125125
$scope.userForm.firstName.$setViewValue(invalidName);
126-
browserTrigger(firstNameEl(el), 'blur');
126+
angular.element(firstNameEl(el)).triggerHandler('blur');
127127
return expectFormGroupHasErrorClass(el).toBe(true);
128128
});
129129
});
@@ -132,11 +132,11 @@
132132
var el;
133133
el = compileEl();
134134
$scope.userForm.firstName.$setViewValue(validName);
135-
browserTrigger(firstNameEl(el), 'blur');
135+
angular.element(firstNameEl(el)).triggerHandler('blur');
136136
$scope.userForm.firstName.$setViewValue(invalidName);
137-
browserTrigger(firstNameEl(el), 'blur');
137+
angular.element(firstNameEl(el)).triggerHandler('blur');
138138
$scope.userForm.firstName.$setViewValue(validName);
139-
browserTrigger(firstNameEl(el), 'blur');
139+
angular.element(firstNameEl(el)).triggerHandler('blur');
140140
return expectFormGroupHasErrorClass(el).toBe(false);
141141
});
142142
});
@@ -146,7 +146,7 @@
146146
el = compileEl();
147147
$scope.userForm.firstName.$setViewValue(validName);
148148
$scope.userForm.lastName.$setViewValue(invalidName);
149-
browserTrigger(firstNameEl(el), 'blur');
149+
angular.element(firstNameEl(el)).triggerHandler('blur');
150150
return expectFormGroupHasErrorClass(el).toBe(false);
151151
});
152152
});
@@ -166,7 +166,7 @@
166166
$scope.userForm.firstName.$setViewValue(invalidName);
167167
$scope.$broadcast('show-errors-check-validity');
168168
$scope.userForm.firstName.$setViewValue(validName);
169-
browserTrigger(firstNameEl(el), 'blur');
169+
angular.element(firstNameEl(el)).triggerHandler('blur');
170170
$scope.userForm.firstName.$setViewValue(invalidName);
171171
$scope.$apply(function() {
172172
return $scope.showErrorsCheckValidity = true;
@@ -179,7 +179,7 @@
179179
var el;
180180
el = compileEl();
181181
$scope.userForm.firstName.$setViewValue(invalidName);
182-
browserTrigger(firstNameEl(el), 'blur');
182+
angular.element(firstNameEl(el)).triggerHandler('blur');
183183
$scope.$broadcast('show-errors-reset');
184184
$timeout.flush();
185185
return expectFormGroupHasErrorClass(el).toBe(false);
@@ -190,7 +190,7 @@
190190
var el;
191191
el = compileEl();
192192
$scope.userForm.firstName.$setViewValue(validName);
193-
browserTrigger(firstNameEl(el), 'blur');
193+
angular.element(firstNameEl(el)).triggerHandler('blur');
194194
$scope.$broadcast('show-errors-reset');
195195
$timeout.flush();
196196
$scope.$apply(function() {
@@ -204,10 +204,10 @@
204204
var el;
205205
el = compileEl();
206206
$scope.userForm.firstName.$setViewValue(invalidName);
207-
browserTrigger(firstNameEl(el), 'blur');
207+
angular.element(firstNameEl(el)).triggerHandler('blur');
208208
$scope.$broadcast('show-errors-reset');
209209
$timeout.flush();
210-
browserTrigger(firstNameEl(el), 'blur');
210+
angular.element(firstNameEl(el)).triggerHandler('blur');
211211
$scope.$broadcast('show-errors-reset');
212212
$timeout.flush();
213213
return expectFormGroupHasErrorClass(el).toBe(false);

0 commit comments

Comments
 (0)