Utilizando Factories, fabriquei vários para montar quatro cenários do cucumber: Listar, Adicionar, Alterar e Excluir (nosso bom e velho CRUD).
A confusão começou quando decidi selecionar o registro que seria excluido no Cenário 4, pois o webrat sempre exclui o primeiro registro. Com a valiosa ajuda de Cassio Marques e Maurício Linhares, consegui resolver e posto aqui. Sempre tem alguém precisando de uma ajuda.
Funcionalidade: Contexto: Dado que existem o(s) seguinte(s) registro(s) de competencias: | mes | ano | | 01 | 2010 | | 02 | 2010 | | 03 | 2010 | Cenário: Listar Competências Quando eu estiver em Listagem de Competências Então preciso ver o(s) seguinte(s) registro(s): | Mês | Ano | | Janeiro | 2010 | | Fevereiro | 2010 | | Março | 2010 | Cenário: Alterar uma Competência Dado que estou em Listagem de Competências E sigo para "Alterar" no mes "2" E defino mes como "5" E defino ano como "2010" Quando peço para Salvar Então preciso ver "Competência Alterada com Sucesso." E preciso ver o(s) seguinte(s) registro(s): | Mês | Ano | | Janeiro | 2010 | | Maio | 2010 | | Março | 2010 |
Step:
Dado /^sigo para "Alterar" no mes "([^\"]*)"$/ do |mes|
record = Competencia.find_by_mes mes
click_link "edit_competencia_#{record.id}"
end
Pequeno Ajuste na Index para montar o Link, pois o webrat não "pega" pelo Texto do Link:
%td =link_to "Alterar", edit_gestor_competencia_path(cmpt), :id => dom_id(cmpt, :edit)
A notação que utilizei aqui foi haml, é só trocar para erb ou html.
Pronto. Funcionando:
Abraços,
Até a próxima
Agradecimentos também ao Bruno Grasseli que enviou uma dica muito próxima (quase idêntica) dessa.



