diff --git a/js/id/actions/join.js b/js/id/actions/join.js index fd6862a9b..1e3a5c57b 100644 --- a/js/id/actions/join.js +++ b/js/id/actions/join.js @@ -42,7 +42,7 @@ iD.actions.Join = function(idA, idB) { var memberA = parent.memberById(idA), memberB = parent.memberById(idB); if (!memberA) { - graph = graph.replace(parent.addMember({id: idA, role: memberB.role})); + graph = graph.replace(parent.addMember({id: idA, role: memberB.role, type: 'way'})); } }); diff --git a/test/spec/actions/join.js b/test/spec/actions/join.js index 1cddb94bf..261fe607d 100644 --- a/test/spec/actions/join.js +++ b/test/spec/actions/join.js @@ -160,13 +160,13 @@ describe("iD.actions.Join", function () { 'c': iD.Node({id: 'c'}), '-': iD.Way({id: '-', nodes: ['a', 'b']}), '=': iD.Way({id: '=', nodes: ['b', 'c']}), - 'r1': iD.Relation({id: 'r1', members: [{id: '=', role: 'r1'}]}), - 'r2': iD.Relation({id: 'r2', members: [{id: '=', role: 'r1'}, {id: '-', role: 'r2'}]}) + 'r1': iD.Relation({id: 'r1', members: [{id: '=', role: 'r1', type: 'way'}]}), + 'r2': iD.Relation({id: 'r2', members: [{id: '=', role: 'r1', type: 'way'}, {id: '-', role: 'r2', type: 'way'}]}) }); graph = iD.actions.Join('-', '=')(graph); - expect(graph.entity('r1').members).to.eql([{id: '-', role: 'r1'}]); - expect(graph.entity('r2').members).to.eql([{id: '-', role: 'r2'}]); + expect(graph.entity('r1').members).to.eql([{id: '-', role: 'r1', type: 'way'}]); + expect(graph.entity('r2').members).to.eql([{id: '-', role: 'r2', type: 'way'}]); }); });