選擇控制加載數據內部控制器我有一個用戶界面,選擇字段如何測試其對角formly
{
key: 'data_id',
type: 'ui-select',
templateOptions: {
required: true,
label: 'Select label',
options: [],
valueProp: 'id',
labelProp: 'name'
},
controller: function($scope, DataService) {
DataService.getSelectData().then(function(response) {
$scope.to.options = response.data;
});
}
}
如何訪問,在我的單元測試內部控制和檢查數據加載的選擇字段實際上工作?
UPDATE: 測試的例子可能是這樣:
var initializePageController = function() {
return $controller('PageCtrl', {
'$state': $state,
'$stateParams': $stateParams
});
};
var initializeSelectController = function(selectElement) {
return $controller(selectElement.controller, {
'$scope': $scope
});
};
然後測試用例是這樣的:
it('should be able to get list of data....', function() {
$scope.to = {};
var vm = initializePageController();
$httpBackend.expectGET(/\/api\/v1\/data...../).respond([
{id: 1, name: 'Data 1'},
{id: 2, name: 'Data 2'}
]);
initializeSelectController(vm.fields[1]);
$httpBackend.flush();
expect($scope.to.options.length).to.equal(2);
});
之一的例子非常感謝您的回覆。但我遇到問題,請在上面的評論中看到更新。 – Vitaly
我解決了我的問題與斷言,我更新了我的評論上面。 – Vitaly