Sha256: 97dbda3164f2112f3e237fc8df6887078cedeba5694355a0eb04bba8475f37c2

Contents?: true

Size: 1.97 KB

Versions: 1

Compression:

Stored size: 1.97 KB

Contents

require File.expand_path('../test_assistant', __FILE__)
require "digest/md5"

module Pingpp
  class OrderTest < Test::Unit::TestCase
    should "execute should return a new, fully executed order when passed correct parameters" do
      order_no = Digest::MD5.hexdigest(Time.now.to_i.to_s)[0,12]

      params = {
        :merchant_order_no  => order_no,
        :app       => get_app_id,
        :amount    => 100, # 订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100)
        :client_ip => "127.0.0.1", # 发起支付请求客户端的 IP 地址,格式为 IPV4,如: 127.0.0.1
        :currency  => "cny",
        :subject   => "Your Subject",
        :body      => "Your Body",
        :uid       => get_user_id
      }

      o = Pingpp::Order.create(params)

      assert o.merchant_order_no == params[:merchant_order_no]
      assert o.app == get_app_id
      assert o.amount == 100
      assert o.paid == false
    end

    should "execute should return an order list when passed correct parameters" do
      l = Pingpp::Order.list(:app => get_app_id, :per_page => 3, :paid => true)

      assert l.object == 'list'
      assert l.data.count <= 3
    end

    should "execute should return an canceled order when passed correct id" do
      o = Pingpp::Order.cancel(get_unpaid_order_id)
      
      assert o.object == 'order'
      assert o.status == 'canceled'
    end

    should "execute should return an exist order when passed correct id" do
      o = Pingpp::Order.retrieve('2001609130000002762')

      assert o.object == 'order'
    end

    should "execute should return an order with credential when passed correct id and parameters" do
      o = Pingpp::Order.pay('2001609130000002762', {:balance_amount => 0,
                                                    :charge_amount => 10,
                                                    :channel => 'alipay'})

      assert o.object == 'order'
      assert o.has_key?('charge_essentials')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pingpp-2.1.1 test/order_test.rb