describe('iD.modeAddNote', function() { var context; before(function() { iD.services.osm = iD.serviceOsm; }); after(function() { delete iD.services.osm; }); beforeEach(function() { var container = d3.select(document.createElement('div')); context = iD.Context() .container(container); context.loadTiles = function () {}; container.call(context.map()) .append('div') .attr('class', 'inspector-wrap'); context.map().centerZoom([-77.02271, 38.90085], 20); context.enter(iD.modeAddNote(context)); }); describe('clicking the map', function () { it('adds a note', function() { var note = iD.osmNote({ id: -1, comments: {}, loc: [-77.02271, 38.90085], newFeature: true, status: 'open' }); happen.mousedown(context.surface().node(), {}); happen.mouseup(window, {}); expect(iD.services.osm.caches().note.note[-1]).to.eql(note); context.mode().exit(); d3.select('window').on('click.draw-block', null); }); it('selects the node', function() { happen.mousedown(context.surface().node(), {}); happen.mouseup(window, {}); expect(context.selectedNoteID()).to.eql(-1); expect(context.mode().id).to.equal('select-note'); context.mode().exit(); d3.select('window').on('click.draw-block', null); }); }); describe('pressing ⎋', function() { it('exits to browse mode', function(done) { happen.keydown(document, {keyCode: 27}); window.setTimeout(function() { expect(context.mode().id).to.equal('browse'); done(); }, 200); }); }); });