I still argue we should use ```$httpBackend```, this isn't really testing much:

```javascript
var systemsCollection = {
    records: [
        { name: 'System1', id: 1 },
        { name: 'System2', id: 2 }
    ]
};

var $resource = function() {
    this.update = function(data) {
        systemsCollection.records[0] = data;
    };
};

beforeEach(inject(function(_System_, _$q_) {
    System = _System_;
    $q = _$q_;
}))

it("provides a way to update a system", function() {
    System.update({name: 'NewSystemName', id: 1});
    var response = System.get({ id: 1 });
    expect(response.name).toEqual('NewSystemName');
});
````
Except that our mock ```$resource``` returns part of a mock array.  I think it's important to ensure that our factories actually try to make the expected requests.