From fc5568cf7a58d5f84faca7c82dd364e016be98fb Mon Sep 17 00:00:00 2001 From: Pavel Jbanov Date: Fri, 25 Oct 2013 10:10:13 -0700 Subject: [PATCH] Adding tests to Chapter_02 --- Chapter_02/karma.conf.js | 20 ++++++++++++++++++++ Chapter_02/main_test.dart | 35 +++++++++++++++++++++++++++++++++++ Chapter_02/pubspec.yaml | 2 ++ 3 files changed, 57 insertions(+) create mode 100644 Chapter_02/karma.conf.js create mode 100644 Chapter_02/main_test.dart diff --git a/Chapter_02/karma.conf.js b/Chapter_02/karma.conf.js new file mode 100644 index 0000000..d12daeb --- /dev/null +++ b/Chapter_02/karma.conf.js @@ -0,0 +1,20 @@ +module.exports = function(config) { + config.set({ + basePath: '.', + frameworks: ['dart-unittest'], + + // list of files / patterns to load in the browser + files: [ + 'main_test.dart', + {pattern: '**/*.dart', watched: false, included: false, served: true}, + {pattern: 'packages/browser/dart.js', watched: false, included: true, served: true}, + {pattern: 'packages/browser/interop.js', watched: false, included: true, served: true}, + ], + + autoWatch: true, + + plugins: [ + 'karma-dart' + ], + }); +}; diff --git a/Chapter_02/main_test.dart b/Chapter_02/main_test.dart new file mode 100644 index 0000000..ca0dfae --- /dev/null +++ b/Chapter_02/main_test.dart @@ -0,0 +1,35 @@ +library main_test; + +import 'package:unittest/unittest.dart'; +import 'package:di/di.dart'; +import 'package:di/dynamic_injector.dart'; +import 'package:angular/angular.dart'; +import 'package:angular/mock/module.dart'; + +import 'main.dart'; + +main() { + group('recipe-book', () { + TestBed _; + RecipeBookController recipesController; + + setUp(() { + var injector = new DynamicInjector(modules: [ + new AngularModule()..type(RecipeBookController), + new AngularMockModule() + ]); + _ = injector.get(TestBed); + recipesController = _.injector.get(RecipeBookController); + }); + + test('should load recipes', () { + expect(recipesController.recipes, isNot(isEmpty)); + }); + + test('should select recipe', () { + var recipe = recipesController.recipes[0]; + recipesController.selectRecipe(recipe); + expect(recipesController.selectedRecipe, same(recipe)); + }); + }); +} diff --git a/Chapter_02/pubspec.yaml b/Chapter_02/pubspec.yaml index 7b19e75..d316536 100644 --- a/Chapter_02/pubspec.yaml +++ b/Chapter_02/pubspec.yaml @@ -7,4 +7,6 @@ dependencies: browser: any js: any + +dev_dependencies: unittest: any