Beispiel #1
0
    def get(self, request):
        ticket_service = TicketService()
        store = self.get_current_store()
        tickets = ticket_service.active_tickets_in(store)

        return self.success(
            {"list": [self.represent_ticket(ticket) for ticket in tickets]})
Beispiel #2
0
    def patch(self, request, id):
        data = QueryDict(request.body)
        state = data['state']

        ticket_service = TicketService()
        ticket = self._get_ticket(id)
        ticket.state = state

        ticket_service.save_ticket(ticket)
        return self.success(self.represent_ticket(ticket))
Beispiel #3
0
    def post(self, request, utxid):
        tx_service = TxService()
        ticket_service = TicketService()
        order_tx = tx_service.load(utxid)
        if not order_tx: self.abort(message=f"Order tx({utxid}) not found", status_code=404)
        with tx_service.finish_order(order_tx) as creditor:
            # creditor.credit_order(amount=1000, name="John", ref="123-456", bank="NHBank")
            pass

        ticket = ticket_service.ticket_of_tx(utxid)
        return self.success({
            "utxid": utxid,
            "ticket_id": ticket and ticket.id,
            "ticket_number": ticket and ticket.number,
        })
Beispiel #4
0
def test_load(ticket_1):
    assert TicketService().load(ticket_1.id) == ticket_1
Beispiel #5
0
def test_remove_ticket(ticket_1):
    TicketService().remove_ticket(ticket_1)
    assert ticket_1.removed
Beispiel #6
0
def test_active_tickets_in(ticket_1):
    assert len(TicketService().active_tickets_in(store=ticket_1.store)) == 1
    assert len(TicketService().active_tickets_in(store=ticket_1.store,
                                                 state='todo')) == 1
    assert len(TicketService().active_tickets_in(store=ticket_1.store,
                                                 state='done')) == 0
Beispiel #7
0
def test_ticket_of_tx(ticket_1):
    assert TicketService().ticket_of_tx(ticket_1.tx.utxid).id == ticket_1.id
Beispiel #8
0
def test_save_ticket(ticket_1):
    ticket_1.state = 'done'
    TicketService().save_ticket(ticket_1)
    assert TicketService().load(ticket_1.id).state == 'done'
Beispiel #9
0
def ticket_service():
    return TicketService()
Beispiel #10
0
 def delete(self, request, id):
     ticket_service = TicketService()
     ticket = self._get_ticket(id)
     ticket_service.remove_ticket(ticket)
     return self.success()
Beispiel #11
0
 def _get_ticket(self, id):
     ticket = TicketService().load(id)
     if not ticket: self.abort(message=f"No ticket {id}", status_code=404)
     return ticket