Пример #1
0
    async def test_has_lots__with_owner(self):
        lots = [
            helpers.create_sell_lot(item_type='test.1', price=1),
            helpers.create_sell_lot(item_type='test.1', price=1),
            helpers.create_sell_lot(item_type='test.1', price=3),
            helpers.create_sell_lot(item_type='test.1', price=4, owner_id=777),
            helpers.create_sell_lot(item_type='test.2', price=3, owner_id=777),
            helpers.create_sell_lot(item_type='test.3', price=4),
            helpers.create_sell_lot(item_type='test.3', price=4)
        ]

        await operations.place_sell_lots(lots)

        request = await self.client.post(
            '/info',
            data=market_pb2.InfoRequest(owner_id=666).SerializeToString())
        data = await self.check_success(request, market_pb2.InfoResponse)

        summaries = [
            objects.ItemTypeSummary(item_type='test.1',
                                    sell_number=4,
                                    min_sell_price=1,
                                    max_sell_price=4,
                                    owner_sell_number=3),
            objects.ItemTypeSummary(item_type='test.2',
                                    sell_number=1,
                                    min_sell_price=3,
                                    max_sell_price=3,
                                    owner_sell_number=0),
            objects.ItemTypeSummary(item_type='test.3',
                                    sell_number=2,
                                    min_sell_price=4,
                                    max_sell_price=4,
                                    owner_sell_number=2)
        ]

        original_info = [
            protobuf.from_item_type_summary(summary) for summary in summaries
        ]

        self.assertCountEqual(data.info, original_info)
Пример #2
0
def info(owner_id=None):
    request = market_pb2.InfoRequest()

    if owner_id is not None:
        request.owner_id = owner_id

    answer = tt_api.sync_request(url=conf.payments_settings.TT_INFO_URL,
                                 data=request,
                                 AnswerType=market_pb2.InfoResponse)

    data = []

    for info in answer.info:
        data.append(
            objects.ItemTypeSummary(full_type=info.item_type,
                                    sell_number=info.sell_number,
                                    min_sell_price=info.min_sell_price,
                                    max_sell_price=info.max_sell_price,
                                    owner_sell_number=info.owner_sell_number))

    return data
Пример #3
0
 async def test_no_lots(self):
     request = await self.client.post(
         '/info', data=market_pb2.InfoRequest().SerializeToString())
     data = await self.check_success(request, market_pb2.InfoResponse)
     self.assertFalse(data.info)