Archive for the ‘Webrat, Selenium’ Category

Webrat – Selecionar Registro, dica rápida

Saturday, April 24th, 2010

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.