def test_query_bill(send_op_result): request_id = 'request-id' query_bill(request_id, 'satellite_tv_sky', '501000000007') assert send_op_result.called op_info = send_op_result.call_args[0][0] assert op_info.request_id == request_id assert op_info.status == OperationStatus.success assert op_info.tran_type == OperationType.query assert op_info.operation.account_number == '501000000007' assert type(op_info.operation.balance) is int
def test_query_bill_failed(send_op_result, service_provider_code, account_number, expected_message): request_id = 'request-id' query_bill(request_id, service_provider_code, account_number) assert send_op_result.called op_info = send_op_result.call_args[0][0] assert op_info.request_id == request_id assert op_info.tran_type == OperationType.query assert op_info.status == OperationStatus.failed assert (op_info.error_message == expected_message or op_info.error_message.startswith(expected_message))
def test_invalid_service_provider(): with pytest.raises(UnknownServiceProvider) as exc: query_bill('abcdfeghijoklmn', 'fake-provider', '501000000007') assert exc.value.message == 'Unknown service provider: fake-provider'