78 lines
2.7 KiB
JavaScript
78 lines
2.7 KiB
JavaScript
|
|
describe("app.models.Person", function() {
|
|
beforeEach(function() {
|
|
this.mutualContact = factory.person({relationship: "mutual"});
|
|
this.sharingContact = factory.person({relationship: "sharing"});
|
|
this.receivingContact = factory.person({relationship: "receiving"});
|
|
this.blockedContact = factory.person({relationship: "blocked", block: {id: 1}});
|
|
});
|
|
|
|
describe("initialize", function() {
|
|
it("sets contact object with person reference", function() {
|
|
var contact = {id: factory.id.next()};
|
|
var person = factory.person({contact: contact});
|
|
expect(person.contact.get("id")).toEqual(contact.id);
|
|
expect(person.contact.person).toEqual(person);
|
|
});
|
|
});
|
|
|
|
context("#isSharing", function() {
|
|
it("indicates if the person is sharing", function() {
|
|
expect(this.mutualContact.isSharing()).toBeTruthy();
|
|
expect(this.sharingContact.isSharing()).toBeTruthy();
|
|
|
|
expect(this.receivingContact.isSharing()).toBeFalsy();
|
|
expect(this.blockedContact.isSharing()).toBeFalsy();
|
|
});
|
|
});
|
|
|
|
context("#isReceiving", function() {
|
|
it("indicates if the person is receiving", function() {
|
|
expect(this.mutualContact.isReceiving()).toBeTruthy();
|
|
expect(this.receivingContact.isReceiving()).toBeTruthy();
|
|
|
|
expect(this.sharingContact.isReceiving()).toBeFalsy();
|
|
expect(this.blockedContact.isReceiving()).toBeFalsy();
|
|
});
|
|
});
|
|
|
|
context("#isMutual", function() {
|
|
it("indicates if we share mutually with the person", function() {
|
|
expect(this.mutualContact.isMutual()).toBeTruthy();
|
|
|
|
expect(this.receivingContact.isMutual()).toBeFalsy();
|
|
expect(this.sharingContact.isMutual()).toBeFalsy();
|
|
expect(this.blockedContact.isMutual()).toBeFalsy();
|
|
});
|
|
});
|
|
|
|
context("#isBlocked", function() {
|
|
it("indicates whether we blocked the person", function() {
|
|
expect(this.blockedContact.isBlocked()).toBeTruthy();
|
|
|
|
expect(this.mutualContact.isBlocked()).toBeFalsy();
|
|
expect(this.receivingContact.isBlocked()).toBeFalsy();
|
|
expect(this.sharingContact.isBlocked()).toBeFalsy();
|
|
});
|
|
});
|
|
|
|
context("#block", function() {
|
|
it("POSTs a block to the server", function() {
|
|
this.sharingContact.block();
|
|
var request = jasmine.Ajax.requests.mostRecent();
|
|
|
|
expect(request.method).toEqual("POST");
|
|
expect($.parseJSON(request.params).block.person_id).toEqual(this.sharingContact.id);
|
|
});
|
|
});
|
|
|
|
context("#unblock", function() {
|
|
it("DELETEs a block from the server", function(){
|
|
this.blockedContact.unblock();
|
|
var request = jasmine.Ajax.requests.mostRecent();
|
|
|
|
expect(request.method).toEqual("DELETE");
|
|
expect(request.url).toEqual(Routes.block(this.blockedContact.get("block").id));
|
|
});
|
|
});
|
|
});
|