quinta-feira, 20 de novembro de 2008

Spree-pagseguro-carrinho-proprio Atualizado

0

Adicionei algumas alterações no spree-pagseguro-carrinho-proprio no Github, lembrando que esse é um projeto para Ruby on Rails, mas precisamente uma extensão a um projeto Open Source o Spree.


O Spree é um projeto de e-commerce para Ruby on Rails, pode servir como base para qualquer aplicação, porém ele possuia somente vinculos com meios de pagamento internacional, e surgiu a ideia de criar um extension para o Spree utilizando algum meio de pagamento brasileiro, como é o caso dessa, ela utiliza o carrinho do Spree para se vincular com o Pagseguro.

Nesse commit adicionei o RSpec de teste da view que altera para fazer o vinculo, para utilizar você so precisa cadastrar algum e-mail seu no pagseguro e adicionar no codigo fonte da extension, prometo em breve melhorar isso, colocar quem sabe em um YAML, vou pensar sobre isso para facilitar mais, voltando a falar do commit também fiz algumas alteraçõe spara seguir as convensões do Spree de extension.

Para mais detalhes acessem o site do Spree
E vejam o projeto no meu GitHub

Se quiserem dar uma olhada, ou sujestões fiquem a vontade

-----------------------------------------------------------------------------------------------

Aproveitando esse post vou falar um pouco sobre minha aventura com o RSpec.

Eu como desenvolvedor Java nunca fui fã de usar testes, em Java debugamos, apesar de existirem ferramentas boas para criar testes, não é muito comum criar suites de testes.

Então começei a participar do Spree, com essa ideia de integração com o Pagseguro, ai fiquei sabendo que teria que criar testes RSpec para o projeto pois um projeto Rails sem testes não é bem visto. Então la fui eu pesquisar sobre o RSpec, e uma coisa me chamou a atenção, o RSpec é muito famoso na comunidade, e muito utilizado, porém ele é muito mal documentado, ou eu que não vi direito, porém você quase não ve exemplos no site.
Ainda bem que existem screencasts, o nofxx tem uma que introduz ao RSpec, que foi muito util, aprendi como funciona o RSpec, pois estava complicado de entender.
Passei a fazer alguns teste, e pronto, já sentia que estava dominando o RSpec, grande ilusão.
Nessa extension para Spree, eu so tenho que testar uma view, uma única view, qual será a diferença. Pois é, me ferrei. E realmente não tava evoluindo os testes, não conseguia rodar, davam erros em objetos da view, e por mais que eu criasse mock eles continuavam, só depois que percebi que faltavam os helpers do Spree, então adicionei os que são utilizados na view, e novamente mas problemas com models, porém dinha um erro que eu tinha concertado, errrr digamos com gambiarra;
A view dava um erro pois o Spree usa o Resource_Controller, e ele dizia que o metodo ou variavel object_url é indefinido, então eu muito esperto escrevi um metodo para solucionar isso, e o erro passou, mas um teste não pode fazer isso não é, então recorri ao Google Groups do rails-br, e lá demorou um pouco mais me falar de um tal de scaffold_resource que gera os testes do RSpec, pra mim dar uma olhada, e realmente foi uma linha de código para solucionar isso:

  1. template.should_receive(:object_url).twice.and_return(order_path(@order))


E pronto o erro foi resolvido, depois outro erro, dessa vez recorri ao rubyonbr.org, e o nofxx me respondeu, esse erro era meio estranho


Mas na verdade o que me deixou assustado foi a falta de aplicações exemplos no site do RSpec, que ajudariam muito quem esta começando, ainda tenho que fazer muitos testes pra pegar bem o RSpec, mas vamos assim como esta.

[]'s

0 comentários:

 
Design by ThemeShift | Bloggerized by Lasantha - Free Blogger Templates | Best Web Hosting