public void Test_Success() { var requestor = DefaultTestData.ServiceStackUser1; var owner = DefaultTestData.ServiceStackUser2; var item = new Item("title", "creator", "edition"); var ownership = new Ownership<User>(item, owner); SaveEntities(requestor, owner, item, ownership); CommitTransactionAndOpenNew(); var request = new BorrowItemRequest(){OwnershipId = ownership.Id, RequestorId = requestor.Id}; var expectedResponse = new BaseResponse(); var expectedBorrowing = new Borrowing(requestor, ownership); var sut = new BorrowItemRequestHandler(() => Session); BaseResponse actualResponse = sut.HandleRequest(request); actualResponse.ShouldEqual(expectedResponse); //Check that the right Borrowing object is in the DB Borrowing borrowingAlias = null; User requestorAllias = null; Ownership ownershipAlias = null; Borrowing borrowingInDb = Session .QueryOver<Borrowing>(() => borrowingAlias) .JoinAlias(() => borrowingAlias.Borrower, () => requestorAllias) .JoinAlias(() => borrowingAlias.Ownership, () => ownershipAlias) .Where(() => requestorAllias.Id == requestor.Id) .And(() => ownershipAlias.Id == ownership.Id) .SingleOrDefault() ; borrowingInDb.ShouldEqual(expectedBorrowing); }
public static bool ShouldEqual(this Borrowing actual, Borrowing expected) { actual.Borrower.ShouldEqual(expected.Borrower); actual.Ownership.ShouldEqual(expected.Ownership); actual.Borrower.ShouldEqual(expected.Borrower); return true; }