大家好我已经看到了几个类似于我的问题,但没有一个解决方案似乎解决了我的问题所以经过一天半的尝试,我决定尝试运气发布我的问题.
我在这个模型的MySQL数据库中有一个表:
class Client< ActiveRecord::Base
validates :name, :length => {:maximum => 255}, :presence => true
validates :client_status, inclusion: { in: 0..2, :presence => true }
validates :client_type, inclusion: { in: 0..2, :presence => true}
end
Run Code Online (Sandbox Code Playgroud)
所以我希望client_status和client_type只是0到2之间的数值,这里是我写的rspec来容纳这个:
describe Client do
before do
@client = Client.new
end
it "should allow name that is less than 255 characters" do
long_char = 'a' *254
@client.name = long_char
@client.client_status = 0
@client.client_type = 1
@client.should be_valid
end
end
Run Code Online (Sandbox Code Playgroud)
这是一个非常简单的测试,我对于client_status和client_type都存在,所以我必须在RSPEC中添加它们,但运行此rspec会给我这个错误消息:
got errors: Value type is not …Run Code Online (Sandbox Code Playgroud) 我对Ember很新,以前从未写过测试用例.我目前有一个被用作基类的路由,并将被其他路由扩展,以使用相同的行为进行重定向.这是路线的样子:
import Ember from 'ember';
export default Ember.Route.extend({
redirect: function(){
var user = this.modelFor('application').user;
if(Ember.isEmpty(user.get('auth'))){
this.transitionTo('login');
}
},
model: function(){
return this.modelFor('application').user;
}
});
Run Code Online (Sandbox Code Playgroud)
所以手动测试这个很好,如果我输入屏幕的直接网址,它将重定向到登录.这是我们想要的功能代码.我的任务是编写单元测试,并且无法找到我认为有用的任何东西.这可能是我对理解事物的经验不足,但我需要弄清楚如何测试这段代码.我会喜欢一些帮助,一些解释以及正在做的事情.我必须为这个ember项目进行单元测试和许多其他事情并且非常新我已经浪费了2天时间来研究如何测试这个类.
我正在使用cytoscape js在ember中构建图表工具,并且可以呈现图表数据,但是我不知道如何设置每个节点以显示具有其中包含其他图像/按钮的图像。基本上我希望它看起来像这样:
在图像中,有两个按钮(我很可能还会添加图标),并且节点中也存在一些标签,这些标签我都不知道该怎么做。
这是我目前拥有的代码。
模板:
<div class="container" >
<div id="cy"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
组件JS:
import Ember from 'ember';
export default Ember.Component.extend({
tagName: '',
map: Ember.computed('model.map_data', function()
{
if(this.get('model.map_data')){
return JSON.parse(this.get('model.map_data').data)
} else {
return {};
}
}),
cytoscape_data: Ember.computed('model.sub_apps.[]',function() {
var ret = {
nodes: [],
edges: []
};
var red = 50;//replace with threshold
var green = 25;//replace with threshold
var _this = this;
this.get("model").map_data.forEach(function(node) {
var y= 0;
var x = 0;
var color = 'green';
if(node.value >= red ){ …Run Code Online (Sandbox Code Playgroud) ember.js ×2
javascript ×2
cytoscape.js ×1
inclusion ×1
rspec ×1
ruby ×1
unit-testing ×1
validation ×1