我有一个应用程序代码以下列方式限制文档
Docs.allow({
insert: function(userId, doc){
return !!userId
},
update: function(userId, doc){
return userId && doc.owner == userId;
}
})
目前,我只能运行进行实际 http 调用的集成测试。我无法在被测系统之外存根组件(Meteor 当前用户)(允许/拒绝规则)。
it("should succeed if user is authenticated", function(done) {
Meteor.loginWithPassword(’shawn@abc.com', ‘hahaha', function(err){
expect(err).toBe(undefined);
Doc = Docs.insert({title: 'abc',
category: 'Finance'},
function(err, id){
expect(err).toBeUndefined();
expect(id).not.toBeUndefined();
done();
});
});
});
it("should fail if user is not authenticated", function(done) {
Meteor.logout(function(){
doc = Docs.insert({title: 'abc',
category: 'Finance',
owner: '1232131'},
function(err, id){
expect(err).not.toBeUndefined();
done();
});
});
});
这使我的测试变得异常缓慢,尤其是在我想测试许多路径的情况下。有没有办法让我将此测试移至较低级别的单元测试?