Есть ли способ в тестах интеграции, чтобы манипулировать датой истечения файла cookie (как проверить, правильно ли он принят). Например, если cookies['user_id']
уже существует в тесте, манипулировать им так:Можно ли установить, когда cookie истекает в тесте интеграции?
cookies['user_id'].expires = Time.zone.now - 1.day
(это возвращает undefined method 'expires='
)
Я использую MiniTest в Rails.
Благодаря @Max, я хотел бы посмотреть на TimeCop позже и первым попробовать свою последнюю строку. Однако, похоже, это не работает. 'cookies ['remember_token']' возвращает '' Vp8FxZSymqttPLN7S6wcA'', поэтому файл cookie существует. Но 'cookies ['remember_token']. Expires = Time.zone.now - 1.day' возвращает ошибку' undefined method 'expires =' для "Vp8FxZSymqttPLN7S6wcA": String'. – Marty
Я не работал с файлами cookie в рельсах, но вы пробовали настроить cookie с хешем, как в документах: 'cookies ['remember_token'] = {значение: cookies ['remember_token'], expires: Time.zone. теперь - 1.day} '. Я считаю, что не может манипулировать файлом cookie на месте - вам нужно выдать клиенту новый файл cookie. http://api.rubyonrails.org/classes/ActionDispatch/Cookies.html – max