我正在尝试升级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中的短暂会话商店的自动使用,但如果是这样,我不知道如何解决这个问题?
非常感谢
答案 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');
等。