Model の試験をちくちくと

朝イチで微妙な試験の不具合を修正。てか、クラスの名前単数形になってて色々アレでした。
とりあえず Model の試験を書いておくことに。

とは言え

とりあえず属性の確認のみ。API 経由な情報取得なパーツの試験をどう書くか、が悩ましかったり。あと View の試験てどうするのか、って思っていたのですが、capybara なナニの spec/request を使えば良い、って理解で良いのかどうか。

つうか

初学者てきにやはり Rails Tutorial の試験な記述はなかなか参考になりますね。とは言え某所での問題処理対応中に request なナニを追加、というのはやはり無理ゲーな模様。

TODO 列挙

現実トウヒで。以下。

  • create、start、stop アクションの追加
    • model および controller の試験追加
  • controller の試験について Rails Tutorial 確認
  • request な試験の追加

とりあえず capybara は追加。

group :test do
  gem 'capybara', '1.1.2'
end

で bundle update した。で、rails g すれば良いのかな。

$ rails g integration_test vm_operations

なんつーか Controller の名前が猛烈にダサい。しかも実行したら config/initializers/devise.rb に config.secret_key を設定しなさい、とか叱られたりなど。
その後リトライしてみたら無事 spec/requests ができてました。

検討

現実トウヒは続く。とりあえず最低限、なプロトタイプをでっち上げないとアレ。

  • new アクションはボタン一発な View 出して終わり
  • ボタンのクリックで create な POST が動いて virtual_machine な model の vm_create! みたいなメソドを呼び出した後に index に redirect
    • ここ、rewque 使って Fog のソレを呼び出す方式にしたい部分
  • start/stop は状態を戻すメソド欲しい
    • state って属性あるな
    • つうか、情報の持ち回りをどうするか問題が出てくるのかorz
    • conns から vm_operation に conn な情報引き渡したい
      • URL パラメータで?
      • session store を redis にして云々?
      • もらった JSON 文字列を Ruby の Hash に変換して格納すれば良いのかどうか
  • あと、conns からはコネクション情報が指定される形で vm_operation に遷移とする
    • conn な情報も session に格納して云々

そろそろ復帰。