Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: CI

on:
pull_request:
branches: [main]
push:
branches: [main]

jobs:
test:
runs-on: ubuntu-latest

strategy:
matrix:
ruby-version: ['2.7', '3.0', '3.1', '3.2', '3.3']

steps:
- uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true

- name: Run tests
env:
CUIT: 20287740027
run: bundle exec rspec
33 changes: 33 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Release

on:
push:
branches: [main]

jobs:
release:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true

- name: Run tests
env:
CUIT: 20287740027
run: bundle exec rspec

- name: Build gem
run: gem build *.gemspec

- name: Publish to RubyGems
run: |
mkdir -p ~/.gem
echo ":rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
chmod 600 ~/.gem/credentials
gem push *.gem
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ log/
log/*.log
fixtures/
fixtures/*

# Allow VCR cassettes
!spec/fixtures/vcr_cassettes/
*.gem

# Documentation files
Expand Down
17 changes: 5 additions & 12 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
source "http://rubygems.org"
gem "savon", "~> 0.7.8"

group :development do
platforms :ruby_18 do
gem "ruby-debug"
end
platforms :ruby_19 do
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"
end
gem "rspec"#, "~> 2.4.0"
gem "bundler"#, "~> 1.0.0"
gem "jeweler"#, "~> 1.5.1"
# gem "rcov"#, ">= 0"
group :development, :test do
gem "rspec", "~> 3.0"
gem "bundler"
gem "vcr", "~> 6.0"
gem "webmock", "~> 3.0"
end

110 changes: 12 additions & 98 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,86 +1,16 @@
GEM
remote: http://rubygems.org/
specs:
addressable (2.4.0)
archive-tar-minitar (0.12)
minitar (~> 0.12)
minitar-cli (~> 0.12)
base64 (0.3.0)
addressable (2.9.0)
public_suffix (>= 2.0.2, < 8.0)
bigdecimal (4.1.2)
builder (3.3.0)
cgi (0.5.2)
columnize (0.9.0)
crack (1.0.1)
bigdecimal
rexml
date (3.5.1)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
diff-lcs (1.6.2)
erb (4.0.4.1)
cgi (>= 0.3.3)
faraday (0.9.2)
multipart-post (>= 1.2, < 3)
git (1.11.0)
rchardet (~> 1.8)
github_api (0.16.0)
addressable (~> 2.4.0)
descendants_tracker (~> 0.0.4)
faraday (~> 0.8, < 0.10)
hashie (>= 3.4)
mime-types (>= 1.16, < 3.0)
oauth2 (~> 1.0)
hashie (5.1.0)
logger
highline (2.1.0)
jeweler (2.3.9)
builder
bundler
git (>= 1.2.5)
github_api (~> 0.16.0)
highline (>= 1.6.15)
nokogiri (>= 1.5.10)
psych
rake
rdoc
semver2
jwt (2.10.3)
base64
linecache (1.3.1)
linecache19 (0.5.12)
ruby_core_source (>= 0.1.4)
logger (1.7.0)
mime-types (2.99.3)
mini_portile2 (2.8.9)
minitar (0.12.1)
minitar-cli (0.12)
minitar (~> 0.12.0)
powerbar (~> 1.0)
multi_json (1.15.0)
multi_xml (0.6.0)
multipart-post (2.4.1)
nokogiri (1.15.7)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
oauth2 (1.4.8)
faraday (>= 0.8, < 3.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
powerbar (1.0.18)
hashie (>= 1.1.0)
psych (5.4.0)
date
stringio
racc (1.8.1)
rack (2.2.23)
rake (13.4.2)
rchardet (1.8.0)
rdoc (7.2.0)
erb
psych (>= 4.0.0)
tsort
hashdiff (1.2.1)
public_suffix (5.1.1)
rexml (3.4.4)
rspec (3.13.2)
rspec-core (~> 3.13.0)
Expand All @@ -95,40 +25,24 @@ GEM
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.7)
ruby-debug (0.10.4)
columnize (>= 0.1)
ruby-debug-base (~> 0.10.4.0)
ruby-debug-base (0.10.4)
linecache (>= 0.3)
ruby-debug-base19 (0.11.24)
columnize (>= 0.3.1)
linecache19 (>= 0.5.11)
ruby_core_source (>= 0.1.4)
ruby-debug19 (0.11.6)
columnize (>= 0.3.1)
linecache19 (>= 0.5.11)
ruby-debug-base19 (>= 0.11.19)
ruby_core_source (0.1.5)
archive-tar-minitar (>= 0.5.2)
savon (0.7.9)
builder (>= 2.1.2)
crack (>= 0.1.4)
semver2 (3.4.2)
stringio (3.2.0)
thread_safe (0.3.6)
tsort (0.2.0)
vcr (6.4.0)
webmock (3.26.2)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)

PLATFORMS
ruby

DEPENDENCIES
bundler
jeweler
rspec
ruby-debug
ruby-debug-base19 (= 0.11.24)
ruby-debug19 (= 0.11.6)
rspec (~> 3.0)
savon (~> 0.7.8)
vcr (~> 6.0)
webmock (~> 3.0)

BUNDLED WITH
2.4.22
20 changes: 14 additions & 6 deletions spec/bravo/reference_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -103,15 +103,23 @@
end
end

describe "tipos comprobante" do
it "should get tipos comprobante" do
puts @reference.tipos_cbte
describe "#tipos_cbte" do
it "should return an array of invoice types" do
result = @reference.tipos_cbte
result.should be_a(Array)
result.should_not be_empty
result.first.should have_key(:id)
result.first.should have_key(:descripcion)
end
end

describe "tipos comprobante" do
it "should get tipos comprobante" do
puts @reference.alic_iva
describe "#alic_iva" do
it "should return an array of IVA rates" do
result = @reference.alic_iva
result.should be_a(Array)
result.should_not be_empty
result.first.should have_key(:id)
result.first.should have_key(:descripcion)
end
end
end

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

32 changes: 26 additions & 6 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,35 @@
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'bravo'
require 'rspec'
# require 'ruby-debug'
require 'webmock/rspec'
require 'vcr'

class SpecHelper
include Savon::Logger
VCR.configure do |config|
config.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
config.hook_into :webmock
config.configure_rspec_metadata!
config.default_cassette_options = {
record: ENV['VCR_RECORD'] ? :new_episodes : :none,
match_requests_on: [:method, :uri]
}
end

# Requires supporting files with custom matchers and macros, etc,
# in ./support/ and its subdirectories.
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
WebMock.disable_net_connect!

RSpec.configure do |config|
config.expect_with :rspec do |expectations|
expectations.syntax = [:should, :expect]
end

config.around(:each) do |example|
if example.metadata[:vcr]
VCR.use_cassette(example.metadata[:vcr]) { example.run }
else
cassette_name = example.full_description.gsub(/[^\w]/, '_').downcase
VCR.use_cassette(cassette_name) { example.run }
end
end
end

Bravo.pkey = "spec/fixtures/pkey"
Bravo.cert = "spec/fixtures/cert.crt"
Expand Down
Loading