simple_cart 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +18 -7
  3. data/Rakefile +1 -10
  4. data/app/controllers/simple_cart/checkout_controller.rb +2 -2
  5. data/app/models/simple_cart/cart.rb +9 -4
  6. data/app/views/simple_cart/carts/_buy.html.haml +1 -2
  7. data/app/views/simple_cart/checkout/payment.html.haml +1 -1
  8. data/lib/generators/simple_cart/install_generator.rb +19 -0
  9. data/lib/generators/simple_cart/views_generator.rb +12 -0
  10. data/lib/simple_cart.rb +2 -1
  11. data/lib/simple_cart/acts_as_simple_cart.rb +15 -0
  12. data/lib/simple_cart/engine.rb +0 -1
  13. data/lib/simple_cart/version.rb +1 -1
  14. data/spec/controllers/{carts_controller_spec.rb → simple_cart/carts_controller_spec.rb} +0 -1
  15. data/spec/controllers/simple_cart/checkout_controller_spec.rb +206 -0
  16. data/spec/controllers/simple_cart/orders_controller_spec.rb +91 -0
  17. data/spec/dummy/app/models/thing.rb +1 -0
  18. data/spec/dummy/app/views/simple_cart/carts/_buy.html.haml +6 -0
  19. data/spec/dummy/app/views/simple_cart/carts/show.html.haml +64 -0
  20. data/spec/dummy/app/views/simple_cart/checkout/_address.html.haml +21 -0
  21. data/spec/dummy/app/views/simple_cart/checkout/_overview.html.haml +53 -0
  22. data/spec/dummy/app/views/simple_cart/checkout/_progress.html.haml +13 -0
  23. data/spec/dummy/app/views/simple_cart/checkout/_summary.html.haml +14 -0
  24. data/spec/dummy/app/views/simple_cart/checkout/billing.html.haml +35 -0
  25. data/spec/dummy/app/views/simple_cart/checkout/confirm.html.haml +68 -0
  26. data/spec/dummy/app/views/simple_cart/checkout/delivery.html.haml +52 -0
  27. data/spec/dummy/app/views/simple_cart/checkout/payment.html.haml +69 -0
  28. data/spec/dummy/app/views/simple_cart/checkout/shipping.html.haml +34 -0
  29. data/spec/dummy/app/views/simple_cart/orders/index.html.haml +105 -0
  30. data/spec/dummy/app/views/simple_cart/orders/show.html.haml +117 -0
  31. data/spec/dummy/config/routes.rb +1 -1
  32. data/spec/dummy/db/development.sqlite3 +0 -0
  33. data/spec/dummy/db/test.sqlite3 +0 -0
  34. data/spec/dummy/log/development.log +4027 -0
  35. data/spec/dummy/log/test.log +97712 -0
  36. data/spec/dummy/spec/rails_helper.rb +57 -0
  37. data/spec/dummy/spec/spec_helper.rb +92 -0
  38. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0FcPYfgadHFgNn9gK63tPFKK4H2rO_URr3EUuAvjYp0.cache +1 -0
  39. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0dg7p5gOV72Ny6Ny3IKpkgU_8IqvTZHmHOy8n4Xsw2M.cache +1 -0
  40. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0xSsQhDI_wNg72JlfvBHjLv4Me0vFWcjQ1xhk7pisd4.cache +1 -0
  41. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/159JFhfdHp_thKe1wRsdwEteUCPmWAuYIWv5RFKMBlo.cache +1 -0
  42. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1wFFAPFWt-iKxnXTLTwYEd83jWSCK0LU9cTDV2Wjfu8.cache +0 -0
  43. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/27doQdGOX7PfBAEE47N_lakWMKG6mBGe09j-nWAm7z4.cache +0 -0
  44. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2Czere6jw0cSz7pT7ovQ4KP6Lc2mduP3Px1TjETTO1I.cache +0 -0
  45. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2do6_0BJY_m-WISNQO55OL7r8EryK6F5GT875Vmdr_I.cache +0 -0
  46. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2eVKX64lK8KwJimF95vGARhITDI8ts-3JJdUU3gj1tY.cache +1 -0
  47. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4JdgN7EfuotoXyxsvvpW_aG55aua0gXBz7e6JYCxo60.cache +1 -0
  48. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4UaD8nfLrD1nBKoNVzfk3-uO8TW1Vh_QzBOjJNPJ_8g.cache +1 -0
  49. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4dJ9VizO6nnTjEMG4e6amMeLuDm_0KV4S4Y4gLJGHko.cache +0 -0
  50. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/52wRk3NuutEVedxEd5YZyc57yxugisJTjw7z8MvwLU0.cache +0 -0
  51. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/553ZiZnM1LaMiT4BpPBrFsovmtA4vtM54UJ1Di6wO7c.cache +1 -0
  52. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5JNk129FFNojsMghwhEW89dWvfrz_aP3Wagg6vw-MpE.cache +0 -0
  53. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  54. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6-aKszuTNRunG5-OdaDZQes4n5N2dlFZl0mB2J3-hOc.cache +1 -0
  55. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/60OKggXvrz1fZ0Ex_PWiO5LZsEPpnkDvls8B9HKYCRo.cache +3 -0
  56. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6QYppJ-vGlbXWmdNYojVbVFiu5LLTRXsFeB9SBKS7ZU.cache +0 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6VccdRj0fepqPF8jSMe2ybKR1J8HdiNOewoRN3BZTy0.cache +0 -0
  58. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6Wv6jl5BiVaaR2aqwiOwU8x7jM61Z2Vny9_V2Hv5LlU.cache +1 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6jvVqJtCEdkG_UPs5qcz1dFvfpPV0Iy-IesjuTZTIpI.cache +1 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6ppxZcpVzwRyTEua4d9btfhtc_elKSSbfASuwv8mI8U.cache +1 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/77T6xpTdKV9I7w40WNKaTmM97aa-VHvaWMo7fhVWg_E.cache +1 -0
  62. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7Hmk8E3VtiYc0FG2kpeeS6HrHthClevGfGVSp-Wa4YA.cache +1 -0
  63. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7fVX6ugowWcFdFjl-6cg_mVIWZkn24Q8K3TCJwCN-y8.cache +0 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/88QUzbOCBedH8sqg2WSFRU-qN0kDdlSj8Su5vqq6ASI.cache +0 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8DXxFxOs3XK06Mxa2Ob19isXxUDJ28PqKZkHvaWv75Y.cache +0 -0
  66. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8HxGo3Te8bOtmadYIfFbYjik4KZtw_LBEDTmYC7VcXQ.cache +1 -0
  67. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8I9atE6L39Q_9omFaJZ0-vFeV4xysOPZs93168JELvQ.cache +0 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8jH3Rwu59cMqVaRgrEZUNIu9oT_2_JLiJ69qen9-MaA.cache +1 -0
  69. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9IpG4YfpA6l1omnbIXRje0q5lFCxIiDaRwTJATy5b6s.cache +2 -0
  70. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9UKUsNamaoZa3e9qt8Cbl6GE4qT6KkBzMIjmmjqymPU.cache +1 -0
  71. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9deC_bZts_B1wiNhDTYIa73Lqtvd1fNXKFV7dUvGTnI.cache +0 -0
  72. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/A7lfpdskVsNs-fivGho7PGCalmbDbtc4Vx5EmSYgFko.cache +1 -0
  73. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ActDOWSbajJnfMGBKwnDmANleFJUxDecSrg45RkJp6I.cache +1 -0
  74. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Al85QlZMTIFVx8uNfwPnn1FsUk8RMvljZmBQtxT4E2U.cache +0 -0
  75. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/B21vGy3Ls1ldep-Xz7OkP0Npg3wwDQAj_md7jre1x6c.cache +1 -0
  76. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BvBz5jnX9Os-394CpQlFUHPOd4ftIJSSF70DWiIH_80.cache +0 -0
  77. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BwRh-YE99DV7hTWKWZJFKpOSqZIX3B8Y5ThzlDKYS6s.cache +1 -0
  78. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C2mZ2drUiVMlZGEy154D3ggaKbu88sMVWZEWI1DcZKY.cache +2 -0
  79. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C5Xl0bgiTKnYcysKQucSHv4f9nC3kpn-iB3kBOhWo-A.cache +1 -0
  80. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cf3olB5bXJrBdGWoyhZD8eFuXWPaLtBEwBTLWQ99VIg.cache +0 -0
  81. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ClhULyYJqmCEpax2xwneLE3XlcHbM_og3nR19y2h5h8.cache +2 -0
  82. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DSOLSc6A5RVSmvM415eEWAWG_AgOvZcLZOXQjsXyWQA.cache +0 -0
  83. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DbsiS9HoG5w2-Rmjo2Hu_3C4Nk1KppbqKwU_z7llEZQ.cache +0 -0
  84. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DoG68m50DoV3kgn1vR6xyXYeoH-MB6ybg4f66G2oIMY.cache +1 -0
  85. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DvJSPJyLLP6k8NeTNuTYbSzc8VgOSzR8upe9q5MWbkI.cache +1 -0
  86. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DxtO-lrFqTip-QyvxhYv7s3KvJPhTJSfIdHt0VIwyrs.cache +0 -0
  87. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EGe2TaC_TKY5fjfs_3HOnHqSNS9k6WJfA1OB6cVWiUI.cache +1 -0
  88. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FgKC9us43PbrHYAiLZ__S-kGGy6EVvbwYtMMuo5JIRk.cache +0 -0
  89. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G1u_i1slQKOM1k_YCtBSx9TiYboEHoJ79ycS8MJQlRI.cache +0 -0
  90. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gc-AsCjiq3nVDfX8tPYCuZshMJ_WrA0Vd3mx7wXHN5k.cache +0 -0
  91. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ghh84oB0RGBtAS_4-kThje9nc1W-y41Mvz5NEG7rQRA.cache +1 -0
  92. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HMBW-ITK3KFQ3UgES5Pn8DJ39kF3JsDs7ddwBeCwWYk.cache +0 -0
  93. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HSoyFwmngYiRfL63cWe_Es6VIDES_lGxINmJCRfcsZU.cache +0 -0
  94. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HufrcmJ0KHflG7-KRm6EAR5g0K4FkH3P8Ud7Y6JX8ic.cache +0 -0
  95. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I4dLQ-srO9IdywOz3Z_i8pRV7QXEMqLl1F90cd2rSlg.cache +1 -0
  96. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I6Oq-RgyVljdlYv12gHvl892h3tBNvu94D-nxtw8Gpo.cache +0 -0
  97. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IRJHT7e-lxidIGcFuffgiDTMQ48dxBmwn3PsF9tE1yU.cache +0 -0
  98. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J2YySW2Sxol7U2snkQJGZUzJ0xZiBRQPlfjuTokB9PQ.cache +0 -0
  99. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J8kpR2tHAmZfVEWNzPNGDkkdJ67YziGXrsExDH37LP4.cache +1 -0
  100. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JO9sST24rwIGbAobkQBEiX57pm89e8yOR-p0AojiWVE.cache +1 -0
  101. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JZsdqpPuhZUMRn9NNZOFt8G732JKPZYKfScHapgwa4Y.cache +1 -0
  102. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ju6cEU7JJvSuX74lGKF-PrurWhsq1JzQNNbaZq_GPww.cache +1 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K1Pm-Lb5Yo5sJOy3OZq7ydyreN1z5foaAaTL4V5jq54.cache +1 -0
  104. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K5TLbb83mthCDcHqUxsw1-KOCjurz2IOUz2OaH0UKE4.cache +1 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KHSjx56ObyOzcy3X9_eHjPVt0ziJZkp_W6_QSXSafD0.cache +1 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KXD3GZ_7roadNSuv9bzVFY5rm66FRL_vYUpRFqFFpeA.cache +1 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KXa8sq1TIqZ0OwRj7yswNaicPeh7wSXbwgdjb_qEteU.cache +0 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KaAKYXUyYoCxczl3wqmVcaDG5yCmMSIe6FOExd05V6o.cache +0 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KdOWD9jQq7dNL-vge4-NJRBK9bUWHo-5nYnzcCx2mmk.cache +0 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kl_FO2rhb9hUGWQbT3Qh9RYBscEzY97yUrj7JGhlo2I.cache +3 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L33lPPj2uVFqqkS3vVIflzKgJ2oSCUz_nFvFtVv3UJg.cache +0 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LRiYZZ1PWTYQlhncLmfuyIZdiM1pL8HIzJz9_rAlfTk.cache +1 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LUTVQqelOCK7OiooeWo6muRrw2UkRAnt6iVt-rQUxVg.cache +0 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LUa0T242XccAbc16vt7CQPcn8fe5uuzsJttxTYei9Ro.cache +3 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LlmXxORiI5shbl7RZ6XgmLoIm6SALto-tFhI-gUQfag.cache +1 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LtZHoZ79qnv91QeHfmqsCajzZUD6lpH4xZZsGmgirxA.cache +0 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LuZkT6shqLOUMoPGsyuZG3JfCINpdkDrxAgejRdrbKg.cache +0 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MOUWowPMAsedrv19x8tcF3tnX3MmPskbzJ46ri0jWD8.cache +1 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MacQy3xktf9oEct-E7lJvgf2eWpW3JZ5ydxNdUFKWbE.cache +1 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MqQJ1BGUyGNW6X7ikl3zf8Jo-g8ped3YGRKwydmw_NQ.cache +0 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/N4NjOSCa6YJpo0ZTmlLuAHKtAYNGsTTkLpMmmbcFvPI.cache +1 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NIrYu-ybQ93OYZkS29-DRtRTHOi69NBttITYYDIt8qM.cache +0 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NdHV2_WbxTlIY928ydLeOndno4ng2wGXgOIdwRH4C3o.cache +1 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/O1oq3VBWIXCRZOcEODKVsPQh9JhbxpGL8kxdoUNA2Xk.cache +1 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/O2JIfIPAbNU_AyrIu3ITeqlnbl-vWyXf-t1EMSJmOsg.cache +0 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OBerTNSTXzIbX0mxMxa5-rNM4Ac4UE4kqG7MKCzBCW8.cache +1 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ORnJ_m3WdZwfH2bWBatZYBvNAwCJVkkVnM2LFSXez_k.cache +1 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Odi8eG0T-hacLQdjMsClrOIJKeHyY_i7igUyfhzhYQI.cache +1 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/P7bTZBQIN0DUvh7TBnru8TPAvlVb9lhvL7dgFP1uHfU.cache +1 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PBEpQ017z0XtT-PsIAJgUhljqbaQgpZE1nVEBJd12MY.cache +0 -0
  132. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q59IhZoGUcaZFUtCZB20KJFkmSdkl2_gA1V5L7yJGfk.cache +1 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QINpVmB_ZIDA8lOKtpjtWXenmF-iXN7quP3wTUzsN-U.cache +0 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QWbWHsxurDlFdxuxXJdG_GvDcg7agUeoDRzv8R8zbHQ.cache +1 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RR0v7bXnkw_DAIqKQUStbF0O5ytMAK_7OZp-5hCVzm0.cache +0 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rj42BFwHvQpHPnt1iAOPi89OYrjqGtGG_4wceo2BBJU.cache +0 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SLDGZ9eYf8c8WiF5yyCfRoNFoLHRSXWrARuMCblGqtk.cache +0 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SULF3NQxB6qO8JJnI5rRyD6rei-J60aW4rraimqf6hk.cache +0 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TJhYo1hoREPI5GIy024MsD1WDV-KFzAQ-9qxDBPyNVI.cache +0 -0
  140. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TWgbWSCl7nRMKksNZWx2gERqMzVoc8vH4GTWuAu0154.cache +0 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TbRETg3JdW9nRXuEyzoW7fZn2Gs22HedMxdluZ3Pk-o.cache +0 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TqoiNVS_JI8-efr0qvvDlXUCnSigB1iZGltIJprRQ8c.cache +0 -0
  143. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TzlFnGHSbzTW25btAhrvA2pw5ihmGbN09P3Rrhu5mIQ.cache +0 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/U4CxtV5X10FdgYubaBda5c8_s2q6zlZB6kavI6otXB8.cache +1 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/U7EN8_xFBne9oZCIkCgLEiKMjwtHvKIRczjokWdFLCY.cache +0 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UHMAwy27koeiLUhw5UYw8HVhK5HtgF7ePqguvCyrsEA.cache +0 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/US8iBwx5NDKUDlUSUQgeto6oyF3OraYtysS7f7KE5t8.cache +1 -0
  148. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UbPESDvcrSQKrcCQxpkYhPmAynBLWdbcNBIpk18kMCg.cache +0 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UeY4IPP6X3MGYFy722I41ZTbl-iaYL8IWgSiojNWXGA.cache +0 -0
  150. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UxsyM4_qLbZJmH4OH1lZBfY4pUvXgiut2oKUFUCRaMo.cache +0 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WVf3YD9mocylpbI8QR2n9V6j3Dru7LpfzqQgHhe6swA.cache +1 -0
  152. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W_oE5NUcqzBLMP6yl6RuhR_a-FTgjBG8SOAKP7E_L8o.cache +0 -0
  153. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WbHKwnC6PqtSmH3GzgZxNoEZ9guk2ovTMX0TqrSXlno.cache +1 -0
  154. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WbhukjTJe2y7m7NIPtqnTU5fjqTJBiKy3LnqJAo2ZiM.cache +1 -0
  155. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WjJNxRO53_FsR3YzbsWpP6ZaOlqMcZh8uB9A1arbXy4.cache +0 -0
  156. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wxwqx9HQEeTIByaDG6SofLH78EyRKP1RWMRa75Vojmk.cache +0 -0
  157. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X-CgAk4J5uL3mAEfDhZN2HOe_nMblAiMQhbY63tDC2g.cache +0 -0
  158. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X1EP5y_ZQxqgpQdYFO40WrNWrp8zlKOiQH62WfX_k9o.cache +1 -0
  159. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XTS3kY6cfnC-jQP99MzE045LRqQc20dGPmSJ-rwKcaQ.cache +0 -0
  160. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y3iGVPSMAEadLpqj1Fr_Rh65TEdx7NQ31BUL_mkvHGQ.cache +1 -0
  161. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y7LIPjdg4ZNJJmw9l9e0xDQCGkvxNjfoE-Vju2PgwK8.cache +0 -0
  162. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YGTNO43Also85pe9ZS76Q1adI9YK6kjdLZkdfUIEMh4.cache +1 -0
  163. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YQIUs0lUtsQcjUrYLQmPgw-F6Wpn8ZOcHP-gcG8rIX4.cache +0 -0
  164. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ybv2APOiKjgjEHSpzZs2mJH_JEeNr7OCQ955fCdOLsk.cache +0 -0
  165. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z95Nkl-1ZNwDFnlxX6wOAIui1B9kHfH0Kg6beVDsoIc.cache +0 -0
  166. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZDXgFaKLUP-qzD5lSx9fNPWhC3p58KhciyGB7TykNJ8.cache +0 -0
  167. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZGq7MOKMLzCiR1Z4oo33rzFPzmxaOyYWdTsYOmAjKlM.cache +1 -0
  168. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZYoVi3M2mzdwCsjS4hzVtP9ZNBWCnBJrXXf-5Hhm14s.cache +0 -0
  169. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ze4_lzHgd8DPMa09CZ9kktymXe5QX_iBXCItee1lQGY.cache +1 -0
  170. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zipyyq6itMyZhc6YUAQX1ctdhwcYD2Hmm5BMm7uP53A.cache +0 -0
  171. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_nD_mnkybh4QS7c3pxosM2Jv4bhzKHv4zPZy2NfwJik.cache +0 -0
  172. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a-QY9no1r9wESk0XVZMU9-j4ILaT0dYl4wZXDp81u-Y.cache +0 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a3rqfUDI5k3tIDAdRc821L2zpk1g6WrmfBvtBlVnEgI.cache +1 -0
  174. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a5QEJSZhYBkNk1C52Trj85jUyIJcgFE8YFbg6XumdTw.cache +0 -0
  175. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aMJWLCvS9eTggheJfpJ6gUdxsKsYMbflLx1_MJ24ZKw.cache +0 -0
  176. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/adVVa38KCDY87GzjXpzoGgPvNxJbpqXQP4qyVKorPd4.cache +2 -0
  177. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bJNhvxxAZ5DVoCVfFAfma0Q3igFNdO018d9XPXGh63o.cache +0 -0
  178. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bUQP6ANjTKNXYQDMNz3PWpFWTF5SivR6uyYkW8BP_Gw.cache +1 -0
  179. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bbwkzDKpUKATPq1GRFiMPj2G42FE46ZCNfZAgLqLMRQ.cache +0 -0
  180. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bmZk6kPconCKMdMNPY6ge5xlYPM-NQIZXYf5tVDlkXw.cache +0 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bvqtvdW959hJYsCSqdsI9Y724kgtSkW1sosYSN62nVo.cache +0 -0
  182. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cHt0mH_R8BuiIH1cEUjYkjqVjhH8RPhZeXs0zb3_4_c.cache +1 -0
  183. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d9L2wE9I51-s1p7CTgQWputeuJCIKyRvhpm3fR07VNc.cache +0 -0
  184. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dfrvxDyfk67Os53_mjIn3hlOfRxqLKK6Ka-CaxTooe4.cache +1 -0
  185. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dqOO06mYDk0wRgPf1Ziyi32XryK_a018r7Ik0uit02Y.cache +0 -0
  186. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dvfOC1uAjTmhh2f0HAzarTv5_pS4yc3KaLR75Fit-qM.cache +0 -0
  187. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eaQa3YKQ2tB-oxeXJEOnoDd1G_AxpmbUDA7M8ePerD8.cache +1 -0
  188. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/emtU-J87p8RjW3dlyMesXKApGbGgOas7wH_lnbWKHs0.cache +1 -0
  189. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/etla6RgCcLhinP2_LK4J-fcNd7zL6Zsv3TuaU4Dp3nM.cache +0 -0
  190. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/f0Jm47tmsqZA-EQsCGB7qZ4pCA8PcViRHwRfkn4SCi4.cache +0 -0
  191. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fGHWXX_znE2IeH4OVEwaT-hnI07M7LQwb4wWeTMJRro.cache +1 -0
  192. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fQ3tndxY5LM8i4kyzpKDrFfL_DjRNCfkuAAGs8FrJzU.cache +0 -0
  193. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fhCnloZi1iA-7V3BC8RI6xXWInPaaahS29iDlaPl5AA.cache +0 -0
  194. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gNL-C_p_NsiDm86EYnStDdHnb_J0gwJDgsm6p-x4bPw.cache +0 -0
  195. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gZp3uXMHuYQC4hzCr7bQfetKNdJAtbQmg3so2KpW1Dw.cache +0 -0
  196. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gfj0cNpszRV54KNOJl36bresYupjtNETPwU2DetRc9k.cache +0 -0
  197. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hP-NOEvXiOPZorwh3pqVCBL8vKPuRlIDwTHqyprLVoc.cache +0 -0
  198. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
  199. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hhaE1adQGmXVNIJKHKVZbaIPBXTUhK6SFO714rCx5ko.cache +1 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hm6-kyB9LxlX-CzWtwTNomSbSEMuwwoVr_3foQ75GmI.cache +0 -0
  201. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i8xvGmXJllRh_504HEHUD1D23PNMOSApRFN6VxaAGeo.cache +0 -0
  202. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i9gVzGFdYf8tBYY5zLGbiPPXDvRZtvx_1mtjyYAzGFk.cache +0 -0
  203. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iDT6fOlRmL7PP4VJ4SpONzU8ZkY8gg9feff2z_2j7mQ.cache +1 -0
  204. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iNYpWOT4gj3gjeaEngMxlmKOX2jQ5kyS1WMsZhjJAtk.cache +1 -0
  205. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j6D8EPFTb0SpSLvYHCYROUOEDZqM5WlinRPlGPtN_Xw.cache +1 -0
  206. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k4KOaVr9wMGHtsRVXYsTedjUrT_W3sueQj87SiLmgW8.cache +0 -0
  207. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kAOU5FCvxF0g8ScWFZnLfuVMXcwQJkM2k75kf3kbpFo.cache +0 -0
  208. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kz_ifS6iuSrtVYG78G7QIv7rEL4CKPAkG_mtnZcQWIk.cache +1 -0
  209. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lFy-5JQVp3qiNKqL1UVqYkv2JKCV6ltXcPDtdKG7V54.cache +0 -0
  210. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lK1OKrUN4Aa4ULF5iC8LIO9b_8pD6VtM7QmFoR_Hyq4.cache +0 -0
  211. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lL53cm_saG1cEdc_0TGdAq7tkJ9bY9yXRBIUsR7D8UI.cache +1 -0
  212. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lLcLuHAD8NB0iohQeabHp4dk298iIqeePqXVeuK_3H0.cache +0 -0
  213. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lQjsQ32aYeM4nY8qVi9YPKXqj_2L6xaoKIeIkFS3jWY.cache +0 -0
  214. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lWCdGefGeej2lRA8Gd08bV33SOp8tbEfqqz3Khl78oM.cache +1 -0
  215. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ll6Sc5xrZqzzpgpCPJyeTCs8IODJcalFH8XZZZPfkAY.cache +1 -0
  216. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m1e6jwxRs_JtIZbbRBAxGQj3ds0Xxa5vKED1JPBKbg8.cache +0 -0
  217. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mdQzbY0SX_-f0tvLBNm7fWC40lqQuyho7zhUJ7ckA-A.cache +1 -0
  218. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nC355jeTqAEoFFK-TABMGHdsHx74SjeE7DBq8xM4Dhk.cache +1 -0
  219. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nC49DzQcJoB-xvh15KbC4AUQA_GA7ivrufj1E3mU3zg.cache +0 -0
  220. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/o5HX-kg2EODqzNhkW_ZAahHuB4yVPP8L5uOFVH8IW-U.cache +1 -0
  221. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oLDYrqmRAjrPRuhGdX6H1JQeHNOmLTow4Eel5UwH9-4.cache +1 -0
  222. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oiZfRfZUr3qevC6e8k4q1_Y1KeLkrQnabK8XvtQUEdM.cache +0 -0
  223. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oia1xdTfARSP0QPx-08rdbJgtwgivmbJPpE9ZIWHRWI.cache +0 -0
  224. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pDCtCFl3JoTIR1MlLiDOzshquvlPpsMw1yjJ8LUwZoc.cache +0 -0
  225. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
  226. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p_H61N5uq7AtqCDaaabvjftQdFUpRFgVngUUQoWgonM.cache +0 -0
  227. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pbJWIv8m4Zpz2Vdg_dct0jTcXyyF5C_0qCFMnrfzQhs.cache +0 -0
  228. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q1eWeFH4Ko50zNfNpD0AHOigO-Dl-IY62iz59wxjyB0.cache +0 -0
  229. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/r-umRmbhYnDarxdLHW5j9Ya_kstiUKaW_wRSCCEnWXc.cache +1 -0
  230. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/r9c5JJA88ftlHtJsLKcFJZPZGR3GqsygNyRCMfV1wHs.cache +0 -0
  231. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rHVh31TC4HKKMY-bqx5PCfr3jxc5lwdEripG-OobWMU.cache +1 -0
  232. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rJI5GE_7XaOoa6Tf7NYEISqT7721LVG7poLUF_31-vk.cache +1 -0
  233. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rKZwg5I56SY7UzS6nJb-HhGNojSbnd4thzevRVqjrM4.cache +0 -0
  234. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rrhf-39OhBdaZAyMckqVYYpeo5wOlz7ZF1A5dXTzHyk.cache +1 -0
  235. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/s5WdYMy1zZQyLQ3jgMjyG2nX1lO6T0H6WjDHiIZud-4.cache +0 -0
  236. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sFtUj5nkFtxTPes_76ayDdPoRK5PrNc-85cy8VpguKo.cache +0 -0
  237. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sie-V3ITyZKtkQXFDHqsuBj63wj-vj3KqyZEZnXrDDs.cache +0 -0
  238. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sly1iOCf3l3QeGAfR54WjZQENHSgvySjx1bqYJufS9U.cache +1 -0
  239. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ssAxKsbsLWPM72bir14WKuhev6AdNBDMeaKwAfBLVbM.cache +0 -0
  240. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tahxNHp-Nubl9PZYv54PoDWwOWBafDdePsdGWgRvxRs.cache +0 -0
  241. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/u2dcdVvrMTVSZ5YM7_utAYZmJdnupBvRHQiNz_VxVNU.cache +0 -0
  242. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/upCRdLKCQ_LMJvznkBqZv3BLnc61IeBeuz1uCClUiXk.cache +0 -0
  243. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vA0eFV_bRhR8l7WhyElPZZM7novqeS1hs7KLtwEisB0.cache +0 -0
  244. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vjPguchHWdt-YK2EYQ9QRKlqa50p-qstw6XHWFpi-TQ.cache +1 -0
  245. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vnEp_XTpvwYSWfGJSwbHT-Ga4Y8-E4XFowfSeG3PHlc.cache +1 -0
  246. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w23Vh5f9T1XBR0iY2GvglM6ZnVU3s-UfqM7KRvPhE-k.cache +1 -0
  247. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w8soQF6_YAg_K7mm0Yt3JPY111kY76FabdY8vbI7AeI.cache +0 -0
  248. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wc53Zkd85TBeGzckO-CbTd5O2OAJYikiGFKHX4BAglo.cache +2 -0
  249. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wgvcchilGiqf57VaXODqv2ciHGo3kkyL5ntttb4AYRM.cache +1 -0
  250. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wshkkfg_d4VBJnagVOHTQN1ta0hl5JOCCvr8KVcH7rU.cache +0 -0
  251. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wvSMeOG_o73wgdwwrFF7A1-9jU014gjXk-eMKAcLGrk.cache +1 -0
  252. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xPmaTlc5nbaEOxlZXH3InaKfo1PNX9VW0_scNelg7zI.cache +0 -0
  253. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xYFdXkHU4uyzJp5yO_cL8KnYI0FbOjBznbzUSoZW_Jo.cache +2 -0
  254. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zE9RWNhH3MoYHJkGpFhH69ThF5w97GamQ6V_d1hZRyk.cache +1 -0
  255. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zJhGRCzO2SKJ9xpszxe1bgNXQ3jKOM-Sp_VQ-FcKw08.cache +0 -0
  256. data/spec/dummy/tmp/capybara/capybara-201603221359263765142952.html +102 -0
  257. data/spec/dummy/tmp/capybara/capybara-201603221400062416605027.html +102 -0
  258. data/spec/dummy/tmp/capybara/capybara-201603221401176508690898.html +102 -0
  259. data/spec/dummy/tmp/pids/server.pid +1 -1
  260. data/spec/factories/simple_cart/credit_cards.rb +11 -0
  261. data/spec/factories/simple_cart/deliveries.rb +6 -0
  262. data/spec/features/simple_cart/cart_feature_spec.rb +47 -0
  263. data/spec/features/simple_cart/checkout/1.0_billing_address_feature_spec.rb +54 -0
  264. data/spec/features/simple_cart/checkout/1.5_shipping_address_feature_spec.rb +43 -0
  265. data/spec/features/simple_cart/checkout/2_delivery_feature_spec.rb +45 -0
  266. data/spec/features/simple_cart/checkout/3_payment_feature_spec.rb +46 -0
  267. data/spec/features/simple_cart/checkout/4_confirmation_feature_spec.rb +36 -0
  268. data/spec/rails_helper.rb +0 -1
  269. metadata +467 -25
  270. data/db/migrate/20160314183842_create_simple_cart_asdas.rb +0 -10
  271. data/spec/dummy/db/migrate/20160314184432_create_simple_cart_order_item.simple_cart.rb +0 -17
  272. data/spec/dummy/db/migrate/20160314184433_create_simple_cart_order.simple_cart.rb +0 -13
  273. data/spec/dummy/db/migrate/20160314184434_create_simple_cart_address.simple_cart.rb +0 -20
  274. data/spec/dummy/db/migrate/20160314184435_create_simple_cart_delivery.simple_cart.rb +0 -12
  275. data/spec/dummy/db/migrate/20160314184436_create_simple_cart_credit_card.simple_cart.rb +0 -18
  276. data/spec/dummy/db/migrate/20160314184437_create_simple_cart_asdas.simple_cart.rb +0 -11
  277. data/spec/dummy/db/migrate/20160314184745_create_things.rb +0 -11
  278. data/spec/dummy/db/migrate/20160314195958_create_kks.rb +0 -11
  279. data/spec/features/checkout/1.0_billing_address_feature_spec.rb +0 -52
  280. data/spec/integration/navigation_test.rb +0 -8
@@ -0,0 +1,91 @@
1
+ module SimpleCart
2
+ RSpec.describe OrdersController, type: :controller do
3
+ let(:order) {
4
+ FactoryGirl.create( :order,
5
+ order_items: [FactoryGirl.create(:order_item), FactoryGirl.create(:order_item)],
6
+ billing_address: FactoryGirl.create(:billing_address),
7
+ shipping_address: FactoryGirl.create(:shipping_address),
8
+ delivery: FactoryGirl.create(:delivery, :costs => 6),
9
+ credit_card: FactoryGirl.create(:credit_card) )
10
+ }
11
+
12
+ routes { SimpleCart::Engine.routes }
13
+
14
+ before(:each) do
15
+ allow(SimpleCart::Order).to receive(:find).and_return(order)
16
+ end
17
+
18
+ describe "GET #index" do
19
+ let (:action) { :index }
20
+ let (:params) { "" }
21
+
22
+ context "visitor" do
23
+
24
+ it "returns http success" do
25
+ get action
26
+ expect(response).to have_http_status(:success)
27
+ end
28
+
29
+ it "assigns @orders" do
30
+ get action
31
+ expect(assigns(:orders)).to be_a(ActiveRecord::Relation)
32
+ end
33
+ it "assigns @in_progress" do
34
+ get action
35
+ expect(assigns(:in_progress)).to be_a(ActiveRecord::Relation)
36
+ end
37
+ it "assigns @in_queue" do
38
+ get action
39
+ expect(assigns(:in_queue)).to be_a(ActiveRecord::Relation)
40
+ end
41
+ it "assigns @delivered" do
42
+ get action
43
+ expect(assigns(:delivered)).to be_a(ActiveRecord::Relation)
44
+ end
45
+ end
46
+ end
47
+
48
+ describe "GET #show" do
49
+ let (:action) { :show }
50
+ let (:params) { {:id => order.id} }
51
+
52
+ context "visitor" do
53
+ it "returns http success" do
54
+ get action, :id => order.id
55
+ expect(response).to have_http_status(:success)
56
+ end
57
+ it "assigns @order" do
58
+ get action, :id => order.id
59
+ expect(assigns(:order)).to be(order)
60
+ end
61
+ end
62
+ end
63
+
64
+ describe "PUT #update" do
65
+ let (:action) { :update }
66
+ let (:params) { {:id => order.id} }
67
+
68
+ context "authenticated user" do
69
+ it "assigns @order" do
70
+ put action, params
71
+ expect(assigns(:order)).to be(order)
72
+ end
73
+ it "changes @order#total_price according to shipments cost" do
74
+ expect{ put action, params }.to change(order, :total_price).by(order.delivery.costs)
75
+ end
76
+ it "changes order#completed_date" do
77
+ expect { put action, params }.to change(order, :completed_date)
78
+ end
79
+ it "saves the order" do
80
+ allow(order).to receive(:queued!).and_return(true)
81
+ expect(order).to receive(:save).and_return(true)
82
+ put action, params
83
+ end
84
+ it "redirects to order path" do
85
+ put action, params
86
+ expect(response).to redirect_to(order_path)
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -1,2 +1,3 @@
1
1
  class Thing < ActiveRecord::Base
2
+ acts_as_product
2
3
  end
@@ -0,0 +1,6 @@
1
+ = form_for item, :url => simple_cart.add_to_cart_path(item, klass: item.class), :html => {:class => 'form-inline one-line text-center'}, method: :post do |f|
2
+ %h2
3
+ = number_to_currency(item.price)
4
+ .form-group.integer.required.one-line
5
+ = number_field_tag :qty, '1', class: 'form-control one-line', value: '1', min: '1', max: '99'
6
+ = f.submit 'Add to cartrrrr', class: 'btn btn-default btn btn-primary'
@@ -0,0 +1,64 @@
1
+ .container
2
+ .row
3
+ .col-md-12
4
+ - if flash[:alert]
5
+ .alert
6
+ = flash[:alert]
7
+ / = @cart.order_items
8
+ / = @cart.build_order
9
+ .thumbnail
10
+ .caption-full
11
+ = form_tag url_for(:controller => 'carts', :action => 'update'), method: :put do
12
+ - if @cart.session.empty?
13
+ empty
14
+ - else
15
+ %table.table.table-hover
16
+ %thead
17
+ %th.col-md-1
18
+ Cover
19
+ %th.col-md-4
20
+ Item
21
+ %th.col-md-4
22
+ Price
23
+ %th.col-md-1
24
+ Qty
25
+ %th.col-md-2
26
+ Total
27
+ %th.col-md-1
28
+ %tbody
29
+ - @cart.items.each_with_index do |item, index|
30
+ %tr
31
+ %td
32
+ / = image_tag(book.cover.url)
33
+ %td
34
+ = item.class
35
+ = item.name
36
+ %td
37
+ = number_to_currency(item.price)
38
+ %td
39
+ = number_field_tag "#{item.class.to_s}_#{item.id}", @cart.session["#{item.class.to_s}_#{item.id}"], class: 'form-control', min: '1', max: '99', :id => item.id.to_s
40
+ %td
41
+ = number_to_currency(item.price * @cart.session["#{item.class.to_s}_#{item.id}"])
42
+ %td
43
+ = link_to 'X', simple_cart.remove_cart_path(:id => "#{item.class.to_s}_#{item.id}")
44
+ %tr
45
+ %td{colspan: 3}
46
+ %td
47
+ %p.text-right
48
+ %strong
49
+ Subtotal
50
+ %td
51
+ = number_to_currency(@cart.subtotal)
52
+ %td
53
+ .row
54
+ .col-xs-12.col-sm-2.col-md-2.col-lg-2
55
+ = link_to 'Empty cart', simple_cart.clear_cart_path, class: 'btn btn-primary btn-block', method: :post
56
+ .col-xs-12.col-sm-3.col-md-3.col-lg-2
57
+ = link_to 'Continue shopping', '/', class: 'btn btn-primary btn-block'
58
+ .col-sm-1.col-sm-1.col-lg-2
59
+ .col-xs-12.col-sm-2.col-md-2.col-lg-2
60
+ = text_field_tag 'coupon', nil, {class: 'form-control', placeholder: "A2016 - 30%"}
61
+ .col-xs-12.col-sm-2.col-md-2.col-lg-2
62
+ = submit_tag 'Update', class: 'btn btn-primary btn-block'
63
+ .col-xs-12.col-sm-2.col-md-2.col-lg-2
64
+ = link_to 'Checkout', checkout_cart_path(:coupon => params[:coupon]), method: :post, class: 'btn btn-primary btn-block'
@@ -0,0 +1,21 @@
1
+ .form-group
2
+ = ff.label :firstname
3
+ = ff.text_field :firstname, class: 'form-control'
4
+ .form-group
5
+ = ff.label :lastname
6
+ = ff.text_field :lastname, class: 'form-control'
7
+ .form-group
8
+ = ff.label :address
9
+ = ff.text_field :address, class: 'form-control'
10
+ .form-group
11
+ = ff.label :zipcode
12
+ = ff.text_field :zipcode, class: 'form-control'
13
+ .form-group
14
+ = ff.label :city
15
+ = ff.text_field :city, class: 'form-control'
16
+ .form-group
17
+ = ff.label :phone
18
+ = ff.text_field :phone, class: 'form-control'
19
+ .form-group
20
+ = ff.label :country
21
+ = ff.collection_select :country, SimpleCart::Address.countries, :to_s, :to_s, {}, {class: 'form-control'}
@@ -0,0 +1,53 @@
1
+ %br
2
+ .col-md-3.col-sm-3
3
+ %h4
4
+ Billing Address
5
+ = link_to '(edit)', wizard_path(:billing)
6
+ %p
7
+ = @order.billing_address.firstname
8
+ = @order.billing_address.lastname
9
+ %br
10
+ = @order.billing_address.address
11
+ %br
12
+ = @order.billing_address.zipcode
13
+ %br
14
+ = @order.billing_address.city
15
+ %br
16
+ = @order.billing_address.phone
17
+ %br
18
+ = @order.billing_address.country
19
+ .col-md-3.col-sm-3
20
+ %h4
21
+ Shipping Address
22
+ = link_to '(edit)', wizard_path(:shipping)
23
+ %p
24
+ = @order.shipping_address.firstname
25
+ = @order.shipping_address.lastname
26
+ %br
27
+ = @order.shipping_address.address
28
+ %br
29
+ = @order.shipping_address.zipcode
30
+ %br
31
+ = @order.shipping_address.city
32
+ %br
33
+ = @order.shipping_address.phone
34
+ %br
35
+ = @order.shipping_address.country
36
+ .col-md-3.col-sm-3
37
+ %h4
38
+ Shipments
39
+ = link_to '(edit)', wizard_path(:delivery)
40
+ %p
41
+ = @order.delivery.company
42
+ %br
43
+ = @order.delivery.costs
44
+ .col-md-3.col-sm-3
45
+ %h4
46
+ Payment Information
47
+ = link_to '(edit)', wizard_path(:payment)
48
+ %p
49
+ = @order.credit_card.number
50
+ %br
51
+ = @order.credit_card.expiration_month
52
+ #{"/"}
53
+ = @order.credit_card.expiration_year
@@ -0,0 +1,13 @@
1
+ .btn-group.btn-group-lg{role: "group"}
2
+ = link_to 'Address', wizard_path(:billing), :class => "btn btn-primary"
3
+
4
+ = link_to_unless @order.nil?, 'Delivery', wizard_path(:delivery), { :class => "btn btn-#{step != :billing && step != :shipping ? 'primary' : 'default'}" } do
5
+ = link_to('Delivery', '#', {:class => "btn btn-#{step != :billing && step != :shipping ? 'primary' : 'default'}"})
6
+
7
+ = link_to_unless @order.nil?, 'Payment', wizard_path(:payment), { :class => "btn btn-#{step == :payment || step == :confirm ? 'primary' : 'default'}" } do
8
+ = link_to('Payment', '#', {:class => "btn btn-#{step == :payment || step == :confirm ? 'primary' : 'default'}"})
9
+
10
+ = link_to_unless @order.nil?, 'Confirm', wizard_path(:confirm), { :class => "btn btn-#{step == :confirm ? 'primary' : 'default'}" } do
11
+ = link_to('Confirm', '#', {:class => "btn btn-#{step == :confirm ? 'primary' : 'default'}"})
12
+
13
+ = link_to 'Complete', '#', :class => "btn btn-default"
@@ -0,0 +1,14 @@
1
+ %p
2
+ Item Total:
3
+ %strong
4
+ = number_to_currency(SimpleCart::Order.find(params[:order_id]).total_price)
5
+
6
+ - unless SimpleCart::Order.find(params[:order_id]).delivery.nil?
7
+ %p
8
+ Shipping:
9
+ %strong
10
+ = number_to_currency(SimpleCart::Order.find(params[:order_id]).delivery.costs)
11
+ %p
12
+ Order Total:
13
+ %strong
14
+ = number_to_currency(SimpleCart::Order.find(params[:order_id]).total_price + SimpleCart::Order.find(params[:order_id]).delivery.costs)
@@ -0,0 +1,35 @@
1
+ .container
2
+ .row.text-center
3
+ %h2.text-center
4
+ Checkout
5
+ = render 'progress'
6
+ = form_for @order, url: wizard_path do |f|
7
+ .row
8
+ .col-md-4.col-sm-4
9
+ %h2
10
+ Billing Address
11
+ - if @order.errors.any?
12
+ #error_explanation.alert.alert-danger
13
+ %h4= "#{pluralize(@order.errors.count, "error")} prohibited this order from being saved:"
14
+ %ul
15
+ - @order.errors.full_messages.each do |msg|
16
+ %li= msg
17
+ = f.fields_for :billing_address do |ff|
18
+ = render 'address', ff: ff
19
+ .col-md-4.col-sm-4.text-center
20
+ %h2
21
+ Shipping Address
22
+ .checkbox
23
+ %label
24
+ = check_box(:shipping, :use_billing_address, {:checked => true}, true, false)
25
+ Use billing address
26
+ .col-md-4.col-sm-4.text-center
27
+ %h2
28
+ Order Summary
29
+ = render 'summary'
30
+
31
+ .row
32
+ .col-md-4.col-sm-4.actions
33
+ = f.submit 'Save and continue', class: 'btn btn-success btn-block'
34
+
35
+
@@ -0,0 +1,68 @@
1
+ .container
2
+ .row.text-center
3
+ %h2.text-center
4
+ Checkout
5
+ = render 'progress'
6
+ .row
7
+ = render 'overview'
8
+ .row
9
+ .col-md-12
10
+ .thumbnail
11
+ .caption-full
12
+ %h2
13
+ = "Order##{@order.id}"
14
+ %small
15
+ %i
16
+ = @order.aasm.human_state
17
+ - if @order.order_items.empty?
18
+ %h2
19
+ No items.
20
+ - else
21
+ %table.table.table-hover
22
+ %thead
23
+ %th.col-md-1
24
+ Cover
25
+ %th.col-md-4
26
+ Book
27
+ %th.col-md-4
28
+ Price
29
+ %th.col-md-1
30
+ Qty
31
+ %th.col-md-2
32
+ Total
33
+ %tbody
34
+ - @order.order_items.each do |item|
35
+ %tr
36
+ / %td
37
+ / = image_tag(item.itemable.cover.url)
38
+ %td
39
+ = item.itemable.name
40
+ %td
41
+ $#{item.itemable.price}
42
+ %td
43
+ = item.qty
44
+ %td
45
+ $#{item.price * item.qty}
46
+ %tr.line
47
+ %td{colspan: 2}
48
+ %td.text-right{colspan: 2}
49
+ %strong
50
+ Subtotal:
51
+ %br
52
+ Shipping:
53
+ %td
54
+ = number_to_currency(@order.total_price)
55
+ %br
56
+ = number_to_currency(@order.delivery.costs)
57
+ %tr
58
+ %td{colspan: 2}
59
+ %td.text-right{colspan: 2}
60
+ %strong
61
+ Order total:
62
+ %td
63
+ = number_to_currency(@order.total_price + @order.delivery.costs)
64
+ .row
65
+ .col-md-4
66
+ .col-md-4
67
+ = link_to 'Place order', order_path(@order), method: :patch, :class => "btn btn-success btn-lg btn-block"
68
+ .col-md-4
@@ -0,0 +1,52 @@
1
+ .container
2
+ .row.text-center
3
+ %h2.text-center
4
+ Checkout
5
+ = render 'progress'
6
+ .row
7
+ .col-md-4.col-sm-4
8
+ %h2
9
+ Shipping Address
10
+ %p
11
+ = @order.shipping_address.firstname
12
+ = @order.shipping_address.lastname
13
+ %br
14
+ = @order.shipping_address.address
15
+ %br
16
+ = @order.shipping_address.zipcode
17
+ %br
18
+ = @order.shipping_address.city
19
+ %br
20
+ = @order.shipping_address.phone
21
+ %br
22
+ = @order.shipping_address.country
23
+
24
+ .col-md-4.col-sm-4.text-center
25
+ %h2
26
+ Delivery services
27
+ = form_for @order, url: wizard_path do |f|
28
+ - if @order.errors.any?
29
+ #error_explanation
30
+ %h2= "#{pluralize(@order.errors.count, "error")} prohibited this order from being saved:"
31
+ %ul
32
+ - @order.errors.full_messages.each do |msg|
33
+ %li= msg
34
+
35
+ .form-group
36
+ - SimpleCart::Delivery.all.each do |company|
37
+ .radio
38
+ %label
39
+ = f.radio_button :delivery_id, company.id, :checked => company == SimpleCart::Delivery.first || @order.delivery == company
40
+ = "#{company.company}, #{number_to_currency(company.costs)}"
41
+
42
+ .actions
43
+ .col-md-6
44
+ = link_to 'Back', previous_wizard_path, class: 'btn btn-default btn-block'
45
+ .col-md-6
46
+ = f.submit 'Continue', class: 'btn btn-success btn-block'
47
+
48
+ .col-md-4.col-sm-4.text-center
49
+ %h2
50
+ Order Summary
51
+ = render 'summary'
52
+
@@ -0,0 +1,69 @@
1
+ .container
2
+ .row.text-center
3
+ %h2.text-center
4
+ Checkout
5
+ = render 'progress'
6
+ .row
7
+ .col-md-4.col-sm-4
8
+ %h2
9
+ Shipping Address
10
+ %p
11
+ = @order.shipping_address.firstname
12
+ = @order.shipping_address.lastname
13
+ %br
14
+ = @order.shipping_address.address
15
+ %br
16
+ = @order.shipping_address.zipcode
17
+ %br
18
+ = @order.shipping_address.city
19
+ %br
20
+ = @order.shipping_address.phone
21
+ %br
22
+ = @order.shipping_address.country
23
+
24
+ .col-md-4.col-sm-4.text-center
25
+ %h2
26
+ Credentials
27
+ = form_for @order, url: wizard_path do |f|
28
+ - if @order.errors.any?
29
+ #error_explanation.alert.alert-danger
30
+ %h4= "#{pluralize(@order.errors.count, "error")} prohibited this order from being saved:"
31
+ %ul
32
+ - @order.errors.full_messages.each do |msg|
33
+ %li= msg
34
+ = f.fields_for :credit_card do |ff|
35
+ .form-group
36
+ = ff.label :number
37
+ = ff.text_field :number, class: 'form-control'
38
+ .form-group
39
+ .row
40
+ .col-xs-6
41
+ = ff.label :expiration_month
42
+ = ff.collection_select :expiration_month, SimpleCart::CreditCard.months, :to_s, :to_s, {}, :class => 'form-control'
43
+ .col-xs-6
44
+ = ff.label :expiration_year
45
+ = ff.collection_select :expiration_year, SimpleCart::CreditCard.years, :to_s, :to_s, {}, :class => 'form-control'
46
+ .form-group
47
+ = ff.label :cvv
48
+ .form-inline
49
+ = ff.text_field :cvv, class: 'form-control form-inline one-line'
50
+ = link_to 'What is this?', '#'
51
+
52
+ .form-group
53
+ = ff.label :firstname
54
+ = ff.text_field :firstname, class: 'form-control'
55
+ .form-group
56
+ = ff.label :lastname
57
+ = ff.text_field :lastname, class: 'form-control'
58
+
59
+ .actions
60
+ .col-md-6
61
+ = link_to 'Back', previous_wizard_path, class: 'btn btn-default btn-block'
62
+ .col-md-6
63
+ = f.submit 'Continue', class: 'btn btn-success btn-block'
64
+ .col-md-4.col-sm-4.text-center
65
+ %h2
66
+ Order Summary
67
+ = render 'summary'
68
+
69
+