我确定这是一件很简单的事情,但我在GraphQL的doc或Graphcool中找不到任何东西.
假设我有一个具有此架构的实体(新的GraphQL用户,抱歉,如果我在架构表示中出错):
Book {
name: String!
author: String!
categories: [String!]
}
Run Code Online (Sandbox Code Playgroud)
如何查询属于该"mystery"类别的所有书籍?我知道我可以过滤allBooks(filter: {}),但categories_in: ["mystery"]并categories_contains: "mystery"没有做到这一点.
我花了整个下午的时间,并没有取得任何进展,我真的开始怀疑它是否有可能.
我正在使用Angular with Headroom来处理向下滚动菜单时消失的菜单.我的测试是使用Protractor完成的,使用PhantomJS,这就是乐趣开始的地方.
PhantomJS不支持.bind(),Headroom在整个地方使用它,这意味着我需要对它进行填充.应该没问题,但我不能让它发挥作用.
我认为我的问题是,无论我在哪里运行polyfill功能,PhantomJS和测试页面都已经加载,所以已经太晚了,Headroom将因为无法加载而.bind()无法加载.
有没有办法在页面加载之前运行这些方法?我知道我可以通过头部的脚本标签将它们添加到我的应用程序中,但我不想在整个应用程序中添加一些只能由测试框架使用的东西.
我正在努力将我的应用程序更新到最新版本的React,Enzyme和Material-UI.
我知道,对于版本15,如果没有给出Material-UI,则会删除默认主题组件.现在首选的方法是MuiThemeProvider使用我们想要使用的样式的组件包装整个应用程序.这没有任何障碍,但我的测试现在打破他们不应该.
使用Material-UI组件和我调用的任何组件ShallowWrapper.html()现在将使我的测试失败并显示以下消息:TypeError: Cannot read property 'prepareStyles' of undefined.
请注意,如果我不使用ShallowWrapper.html(),我不会收到任何错误.所以只有当我需要看到HTML输出失败时才会这样.这是有道理的,Material-UI应该只关注实际渲染时的样式.
我创建了一个非常简单的测试用例来展示我是如何做到的:
import * as React from 'react'
import * as chai from 'chai'
import chaiEnzyme = require('chai-enzyme')
import { shallow } from 'enzyme'
import Avatar from 'material-ui/Avatar'
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'
chai.use(chaiEnzyme());
let expect = chai.expect;
describe('Unit Test', () => {
it(`Should work`, () => {
let shallowComponent = shallow(
<MuiThemeProvider>
<Avatar src='foo.jpg' />
</MuiThemeProvider>
);
expect(shallowComponent.html()).to.exist
})
});
Run Code Online (Sandbox Code Playgroud)
我想只是包装我的组件应该工作.显然,我在某个地方错过了一步.有人能指出我正确的方向吗?
我正在设置一台 Windows 2008 Server 计算机,整个上午我都在 Windows 主机上,所以 winrm 直到现在才造成任何问题。我切换到 Linux 思想,每当我将通信器设置为 winrm 时,vagrant 就无法再与我的来宾计算机通信,并且我不想(阅读:由于多种原因不能)安装 Cygwin它。
这是我的 Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "box/win-server-2008"
config.vm.communicator = "winrm"
end
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
/home/guyllaume/.vagrant.d/gems/gems/vagrant-windows-1.6.0/lib/vagrant-windows/windows_machine.rb:62:in `winrmshell': undefined method `winrmshell' for #<VagrantPlugins::CommunicatorWinRM::Communicator:0x00000001f65ad0> (NoMethodError)
from /home/guyllaume/.vagrant.d/gems/gems/vagrant-windows-1.6.0/lib/vagrant-windows/guest/cap/configure_networks.rb:19:in `configure_networks'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/capability_host.rb:111:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/capability_host.rb:111:in `capability'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/guest.rb:43:in `capability'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.5/plugins/providers/virtualbox/action/network.rb:132:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.5/plugins/providers/virtualbox/action/clear_network_interfaces.rb:26:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.5/plugins/providers/virtualbox/action/prepare_nfs_settings.rb:15:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/action/warden.rb:34:in `call'
from …Run Code Online (Sandbox Code Playgroud) angularjs ×1
enzyme ×1
graphcool ×1
graphql ×1
linux ×1
material-ui ×1
phantomjs ×1
polyfills ×1
protractor ×1
reactjs ×1
vagrant ×1
vagrantfile ×1
winrm ×1