J'ai ajouté Subdomain-fu dans mon projet. Dans ApplicationController j'ai before_filter qui vérifie url et redirige app.com vers www.app.com, www.subdomain.app.com vers subdomain.app.com et vérifie l'existence du compte (redirige vers la maison s'il n'existe pas):Le test concombre/webrat échoue après l'ajout de la fonctionnalité Subdomain-fu et redirection
before_filter :check_uri
def check_uri
if !subdomain?
redirect_to http_protocol + "www." + current_host + request.request_uri if !/^www\./.match(current_host)
elsif /^www\./.match(current_host)
redirect_to http_protocol + current_host.gsub(/^www\./, '') + request.request_uri
elsif !account_subdomain?
redirect_to http_protocol + "www" + current_host.gsub(account_subdomain, '')
end
end
Le code ci-dessus fonctionne plutôt bien. Mais après avoir ajouté cet extrait mes tests de concombre, par ex. celui-ci:
Scenario: Successful sign up
Given I am an anonymous user
And an Accept Language header
And I am on the home page
When I follow "Join now!"
And ...
est devenu échouer avec l'erreur:
Webrat::NotFoundError: Could not find link with text or title or id "Join now!"
(eval):2:in `/^I follow "([^\"]*)"$/'
features/manage_users.feature:10:in `When I follow "Join now!"'
Si je commente ce tout before_filter fonctionne bien. Est-ce que quelqu'un sait pourquoi?