2016-04-14 4 views
0

Ich möchte überprüfen, ob ein Element ein A oder ein Div ist, wie bewerkstellige ich das?
dieser Code nicht funktioniert:Wie prüft man einen Elementtyp mit Chai?

it('has no link if required',() => { 
     const wrapper = shallow(<AssetOverlay asset={ assetsData[0] } shouldBeLinked />); 
     expect(wrapper.find('.overlay-asset-link')).to.be.a('a'); 

     const wrapper1 = shallow(<AssetOverlay asset={ assetsData[0] } shouldBeLinked="false" />); 
     //expect(wrapper1.find('.overlay-asset-link')).to.be.a('div'); 
    }); 

Antwort

2

Nun das ist, weil chais Typprüfungen für javascript Typen, nicht für HTML-Stichworte zu überprüfen.

Bei wrapper.find() ein normalen HTML-Elemente zurückgibt, können Sie erreichen, was Sie mit testen wollen:

expect(wrapper.find('.overlay-asset-link').tagName).to.equal('A');

Hinweis: Die Tag-Name-Eigenschaft ist immer groß geschrieben.