describe('JSInput', function() {
    var sections;
    var inputFields;

    beforeEach(function() {
        loadFixtures('js/capa/fixtures/jsinput.html');
        sections = $('section[id^="inputtype_"]');
        inputFields = $('input[id^="input_"]');
        JSInput.walkDOM();
    });

    it('sets all data-processed attributes to true on first load', function() {
        sections.each(function(index, item) {
            expect(item).toHaveData('processed', true);
        });
    });

    it('sets the waitfor attribute to its update function', function() {
        inputFields.each(function(index, item) {
            expect(item).toHaveAttr('waitfor');
        });
    });

    it('tests the correct number of sections', function() {
        expect(sections.length).toEqual(2);
        expect(sections.length).toEqual(inputFields.length);
    });
});