AspectEdit#onDeleteRequestSuccess now adds and drops attributes properly

This commit is contained in:
Sarah Mei 2010-11-14 21:49:36 -08:00
parent e0c0d2036c
commit 45e47513c2
2 changed files with 26 additions and 6 deletions

View file

@ -50,7 +50,7 @@ var AspectEdit = {
type: "DELETE",
url: "/requests/" + person.attr('data-guid'),
data: {"accept" : true, "aspect_id" : dropzone.attr('data-aspect_id') },
success: function() { AspectEdit.onDeleteRequestSuccess(person); }
success: function() { AspectEdit.onDeleteRequestSuccess(person, dropzone); }
});
}
@ -70,9 +70,11 @@ var AspectEdit = {
dropzone.closest("ul").append(person);
},
onDeleteRequestSuccess: function(person) {
onDeleteRequestSuccess: function(person, dropzone) {
AspectEdit.decrementRequestsCounter();
person.removeClass('request');
person.attr('data-aspect_id', dropzone.attr('data-aspect_id'));
person.removeAttr('data-person_id');
},
onMovePersonSuccess: function(person, dropzone) {

View file

@ -183,14 +183,32 @@ describe("AspectEdit", function() {
);
});
it("decrements the request counter", function() {
var person = $('li.person');
var dropzone = $('.dropzone.ui-droppable[data-aspect_id="guid-of-target-aspect"]');
spyOn(AspectEdit, "decrementRequestsCounter");
AspectEdit.onDeleteRequestSuccess($('li.person'));
AspectEdit.onDeleteRequestSuccess(person, dropzone);
expect(AspectEdit.decrementRequestsCounter).toHaveBeenCalled();
});
it("takes the request class off the person li", function() {
expect($('li.person')).toHaveClass('request');
AspectEdit.onDeleteRequestSuccess($('li.person'));
expect($('li.person')).not.toHaveClass('request');
var person = $('li.person');
var dropzone = $('.dropzone.ui-droppable[data-aspect_id="guid-of-target-aspect"]');
expect(person).toHaveClass('request');
AspectEdit.onDeleteRequestSuccess(person, dropzone);
expect(person).not.toHaveClass('request');
});
it("removes data-person_id from the li", function() {
var person = $('li.person');
var dropzone = $('.dropzone.ui-droppable[data-aspect_id="guid-of-target-aspect"]');
expect(person.attr("data-person_id")).toBeDefined();
AspectEdit.onDeleteRequestSuccess(person, dropzone);
expect(person.attr("data-person_id")).not.toBeDefined();
});
it("puts a data-aspect_id on the li", function() {
var person = $('li.person');
var dropzone = $('.dropzone.ui-droppable[data-aspect_id="guid-of-target-aspect"]');
expect(person.attr("data-aspect_id")).not.toBeDefined();
AspectEdit.onDeleteRequestSuccess(person, dropzone);
expect(person.attr("data-aspect_id")).toEqual("guid-of-target-aspect");
});
});