コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }