验收测试中的Ember Simple Auth 1.0

时间:2016-03-08 09:57:30

标签: ember-cli ember-simple-auth

我正在尝试升级Ember CLI应用以使用Simple Auth 1.0。我的验收测试不再有效。我已将测试套件配置为针对Rails服务器运行,该服务器是我的API的副本。要登录我正在这样做:

dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
print(*[val for dic in dataList for val in dic.values()], sep='\n')

这适用于simple-auth 0.7.3但不适用于1.0.0。我在应用程序路由中添加了其他方法来设置会话,如下所示:

visit("/")
fillIn(".identification-field", "test@email.com");
fillIn(".password-field", "testpassword");
click(".btn.login-submit");

andThen(function(){
  equal(currentSession(application).get('user_email'), "test@email.com");
});

这基于以下指南:http://miguelcamba.com/blog/2015/06/18/how-to-inject-the-current-user-using-ember-simple-auth/

当我运行应用程序但打破我的测试套件时,这非常有效。现在当我登录会话时似乎没有填充 - _populateCurrentUser方法失败,因为this.get('session.data.user_id')未定义。

任何人都可以帮忙吗?也许是因为1.0中的短暂会话商店的自动使用,但如果是这样,我不知道如何解决这个问题?

非常感谢

1 个答案:

答案 0 :(得分:2)

使用Ember Simple Auth 1.0,验证者解析的会话数据存储在import csv import datatables with open('Data/ShowroomData.csv', 'rt') as Data: SR = csv.reader(Data, delimiter=' ', quotechar='|') next(Data) for row in SR: print (row) table = DataTable('Data/ShowroomData.csv', 'rt') for row in table: print (row['SiteName'], row['BGPAS']) 中,因此您需要将data.authenticated更改为var user_id = this.get('session.data.user_id');等。