You should have the tempData populated on the success callback you provide to $http.get
Try it this way:
var get = function (){
return $http.get('../test/data/program-categories.json').then(function(data){
tempData = data.data;
$httpBackend.whenGET('lookup/program-categories').respond(tempData);
console.log(tempData);
return tempData;
})
};
get();
console.log(tempData);