bower で angular-moment ライブラリを追加しました。
angular-moment の作成者のハウツーに従い、両方のスクリプトを index.html ファイルと karma.conf.js ファイルに、特定のファイルを含むファイル オプションを使用して追加しました。
app/dateFactory で angular-moment オブジェクトにアクセスして時間を処理するにはどうすればよいですか?
アプリ/日付ファクトリー
'use strict';
angular.module('clientApp', ['angularMoment']).factory('dateFactory', function () {
function dateRange(startDate, endDate) {
}
// Public API here
return {
dateRange: dateRange
}
});
更新 => このコードを実行すると、ファクトリ インスタンスが定義されます。
angular.module('clientApp').factory('dateFactory', function() {
function dateRange(startDate, endDate) {
var bla = moment.format()
return [];
//return Enumerable.range(0, endDate.Subtract(startDate).Days + 1).Select(offset => startDate.AddDays(offset)).toArray();
}
// Public API here
return {
dateRange: dateRange
}
});
更新 => このコードを実行すると、ファクトリ インスタンスは未定義です!
angular.module('clientApp', ['angularMoment']).factory('dateFactory', ['moment', function(moment) {
function dateRange(startDate, endDate) {
moment.format() //for example
return [];
//return Enumerable.range(0, endDate.Subtract(startDate).Days + 1).Select(offset => startDate.AddDays(offset)).toArray();
}
// Public API here
return {
dateRange: dateRange
}
}]);
これがファクトリの作成方法です。
describe('Service: dateFactory', function () {
// load the service's module
beforeEach(module('clientApp'));
// instantiate service
var dateFactory;
beforeEach(inject(function (_dateFactory_) {
dateFactory = _dateFactory_;
}));
it('should do something', function () {
var data = dateFactory.dateRange(new Date(2014,1,1), new Date(2014,1,15));
expect(!!dateFactory).toBe(true);
});
});