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.
- checksums.yaml +4 -4
- data/README.md +18 -7
- data/Rakefile +1 -10
- data/app/controllers/simple_cart/checkout_controller.rb +2 -2
- data/app/models/simple_cart/cart.rb +9 -4
- data/app/views/simple_cart/carts/_buy.html.haml +1 -2
- data/app/views/simple_cart/checkout/payment.html.haml +1 -1
- data/lib/generators/simple_cart/install_generator.rb +19 -0
- data/lib/generators/simple_cart/views_generator.rb +12 -0
- data/lib/simple_cart.rb +2 -1
- data/lib/simple_cart/acts_as_simple_cart.rb +15 -0
- data/lib/simple_cart/engine.rb +0 -1
- data/lib/simple_cart/version.rb +1 -1
- data/spec/controllers/{carts_controller_spec.rb → simple_cart/carts_controller_spec.rb} +0 -1
- data/spec/controllers/simple_cart/checkout_controller_spec.rb +206 -0
- data/spec/controllers/simple_cart/orders_controller_spec.rb +91 -0
- data/spec/dummy/app/models/thing.rb +1 -0
- data/spec/dummy/app/views/simple_cart/carts/_buy.html.haml +6 -0
- data/spec/dummy/app/views/simple_cart/carts/show.html.haml +64 -0
- data/spec/dummy/app/views/simple_cart/checkout/_address.html.haml +21 -0
- data/spec/dummy/app/views/simple_cart/checkout/_overview.html.haml +53 -0
- data/spec/dummy/app/views/simple_cart/checkout/_progress.html.haml +13 -0
- data/spec/dummy/app/views/simple_cart/checkout/_summary.html.haml +14 -0
- data/spec/dummy/app/views/simple_cart/checkout/billing.html.haml +35 -0
- data/spec/dummy/app/views/simple_cart/checkout/confirm.html.haml +68 -0
- data/spec/dummy/app/views/simple_cart/checkout/delivery.html.haml +52 -0
- data/spec/dummy/app/views/simple_cart/checkout/payment.html.haml +69 -0
- data/spec/dummy/app/views/simple_cart/checkout/shipping.html.haml +34 -0
- data/spec/dummy/app/views/simple_cart/orders/index.html.haml +105 -0
- data/spec/dummy/app/views/simple_cart/orders/show.html.haml +117 -0
- data/spec/dummy/config/routes.rb +1 -1
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +4027 -0
- data/spec/dummy/log/test.log +97712 -0
- data/spec/dummy/spec/rails_helper.rb +57 -0
- data/spec/dummy/spec/spec_helper.rb +92 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0FcPYfgadHFgNn9gK63tPFKK4H2rO_URr3EUuAvjYp0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0dg7p5gOV72Ny6Ny3IKpkgU_8IqvTZHmHOy8n4Xsw2M.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0xSsQhDI_wNg72JlfvBHjLv4Me0vFWcjQ1xhk7pisd4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/159JFhfdHp_thKe1wRsdwEteUCPmWAuYIWv5RFKMBlo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1wFFAPFWt-iKxnXTLTwYEd83jWSCK0LU9cTDV2Wjfu8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/27doQdGOX7PfBAEE47N_lakWMKG6mBGe09j-nWAm7z4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2Czere6jw0cSz7pT7ovQ4KP6Lc2mduP3Px1TjETTO1I.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2do6_0BJY_m-WISNQO55OL7r8EryK6F5GT875Vmdr_I.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2eVKX64lK8KwJimF95vGARhITDI8ts-3JJdUU3gj1tY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4JdgN7EfuotoXyxsvvpW_aG55aua0gXBz7e6JYCxo60.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4UaD8nfLrD1nBKoNVzfk3-uO8TW1Vh_QzBOjJNPJ_8g.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4dJ9VizO6nnTjEMG4e6amMeLuDm_0KV4S4Y4gLJGHko.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/52wRk3NuutEVedxEd5YZyc57yxugisJTjw7z8MvwLU0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/553ZiZnM1LaMiT4BpPBrFsovmtA4vtM54UJ1Di6wO7c.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5JNk129FFNojsMghwhEW89dWvfrz_aP3Wagg6vw-MpE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6-aKszuTNRunG5-OdaDZQes4n5N2dlFZl0mB2J3-hOc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/60OKggXvrz1fZ0Ex_PWiO5LZsEPpnkDvls8B9HKYCRo.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6QYppJ-vGlbXWmdNYojVbVFiu5LLTRXsFeB9SBKS7ZU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6VccdRj0fepqPF8jSMe2ybKR1J8HdiNOewoRN3BZTy0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6Wv6jl5BiVaaR2aqwiOwU8x7jM61Z2Vny9_V2Hv5LlU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6jvVqJtCEdkG_UPs5qcz1dFvfpPV0Iy-IesjuTZTIpI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6ppxZcpVzwRyTEua4d9btfhtc_elKSSbfASuwv8mI8U.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/77T6xpTdKV9I7w40WNKaTmM97aa-VHvaWMo7fhVWg_E.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7Hmk8E3VtiYc0FG2kpeeS6HrHthClevGfGVSp-Wa4YA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7fVX6ugowWcFdFjl-6cg_mVIWZkn24Q8K3TCJwCN-y8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/88QUzbOCBedH8sqg2WSFRU-qN0kDdlSj8Su5vqq6ASI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8DXxFxOs3XK06Mxa2Ob19isXxUDJ28PqKZkHvaWv75Y.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8HxGo3Te8bOtmadYIfFbYjik4KZtw_LBEDTmYC7VcXQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8I9atE6L39Q_9omFaJZ0-vFeV4xysOPZs93168JELvQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8jH3Rwu59cMqVaRgrEZUNIu9oT_2_JLiJ69qen9-MaA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9IpG4YfpA6l1omnbIXRje0q5lFCxIiDaRwTJATy5b6s.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9UKUsNamaoZa3e9qt8Cbl6GE4qT6KkBzMIjmmjqymPU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9deC_bZts_B1wiNhDTYIa73Lqtvd1fNXKFV7dUvGTnI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/A7lfpdskVsNs-fivGho7PGCalmbDbtc4Vx5EmSYgFko.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ActDOWSbajJnfMGBKwnDmANleFJUxDecSrg45RkJp6I.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Al85QlZMTIFVx8uNfwPnn1FsUk8RMvljZmBQtxT4E2U.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/B21vGy3Ls1ldep-Xz7OkP0Npg3wwDQAj_md7jre1x6c.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BvBz5jnX9Os-394CpQlFUHPOd4ftIJSSF70DWiIH_80.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BwRh-YE99DV7hTWKWZJFKpOSqZIX3B8Y5ThzlDKYS6s.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C2mZ2drUiVMlZGEy154D3ggaKbu88sMVWZEWI1DcZKY.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C5Xl0bgiTKnYcysKQucSHv4f9nC3kpn-iB3kBOhWo-A.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cf3olB5bXJrBdGWoyhZD8eFuXWPaLtBEwBTLWQ99VIg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ClhULyYJqmCEpax2xwneLE3XlcHbM_og3nR19y2h5h8.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DSOLSc6A5RVSmvM415eEWAWG_AgOvZcLZOXQjsXyWQA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DbsiS9HoG5w2-Rmjo2Hu_3C4Nk1KppbqKwU_z7llEZQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DoG68m50DoV3kgn1vR6xyXYeoH-MB6ybg4f66G2oIMY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DvJSPJyLLP6k8NeTNuTYbSzc8VgOSzR8upe9q5MWbkI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DxtO-lrFqTip-QyvxhYv7s3KvJPhTJSfIdHt0VIwyrs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EGe2TaC_TKY5fjfs_3HOnHqSNS9k6WJfA1OB6cVWiUI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FgKC9us43PbrHYAiLZ__S-kGGy6EVvbwYtMMuo5JIRk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G1u_i1slQKOM1k_YCtBSx9TiYboEHoJ79ycS8MJQlRI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gc-AsCjiq3nVDfX8tPYCuZshMJ_WrA0Vd3mx7wXHN5k.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ghh84oB0RGBtAS_4-kThje9nc1W-y41Mvz5NEG7rQRA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HMBW-ITK3KFQ3UgES5Pn8DJ39kF3JsDs7ddwBeCwWYk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HSoyFwmngYiRfL63cWe_Es6VIDES_lGxINmJCRfcsZU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HufrcmJ0KHflG7-KRm6EAR5g0K4FkH3P8Ud7Y6JX8ic.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I4dLQ-srO9IdywOz3Z_i8pRV7QXEMqLl1F90cd2rSlg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I6Oq-RgyVljdlYv12gHvl892h3tBNvu94D-nxtw8Gpo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IRJHT7e-lxidIGcFuffgiDTMQ48dxBmwn3PsF9tE1yU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J2YySW2Sxol7U2snkQJGZUzJ0xZiBRQPlfjuTokB9PQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J8kpR2tHAmZfVEWNzPNGDkkdJ67YziGXrsExDH37LP4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JO9sST24rwIGbAobkQBEiX57pm89e8yOR-p0AojiWVE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JZsdqpPuhZUMRn9NNZOFt8G732JKPZYKfScHapgwa4Y.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ju6cEU7JJvSuX74lGKF-PrurWhsq1JzQNNbaZq_GPww.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K1Pm-Lb5Yo5sJOy3OZq7ydyreN1z5foaAaTL4V5jq54.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K5TLbb83mthCDcHqUxsw1-KOCjurz2IOUz2OaH0UKE4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KHSjx56ObyOzcy3X9_eHjPVt0ziJZkp_W6_QSXSafD0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KXD3GZ_7roadNSuv9bzVFY5rm66FRL_vYUpRFqFFpeA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KXa8sq1TIqZ0OwRj7yswNaicPeh7wSXbwgdjb_qEteU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KaAKYXUyYoCxczl3wqmVcaDG5yCmMSIe6FOExd05V6o.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KdOWD9jQq7dNL-vge4-NJRBK9bUWHo-5nYnzcCx2mmk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kl_FO2rhb9hUGWQbT3Qh9RYBscEzY97yUrj7JGhlo2I.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L33lPPj2uVFqqkS3vVIflzKgJ2oSCUz_nFvFtVv3UJg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LRiYZZ1PWTYQlhncLmfuyIZdiM1pL8HIzJz9_rAlfTk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LUTVQqelOCK7OiooeWo6muRrw2UkRAnt6iVt-rQUxVg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LUa0T242XccAbc16vt7CQPcn8fe5uuzsJttxTYei9Ro.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LlmXxORiI5shbl7RZ6XgmLoIm6SALto-tFhI-gUQfag.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LtZHoZ79qnv91QeHfmqsCajzZUD6lpH4xZZsGmgirxA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LuZkT6shqLOUMoPGsyuZG3JfCINpdkDrxAgejRdrbKg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MOUWowPMAsedrv19x8tcF3tnX3MmPskbzJ46ri0jWD8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MacQy3xktf9oEct-E7lJvgf2eWpW3JZ5ydxNdUFKWbE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MqQJ1BGUyGNW6X7ikl3zf8Jo-g8ped3YGRKwydmw_NQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/N4NjOSCa6YJpo0ZTmlLuAHKtAYNGsTTkLpMmmbcFvPI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NIrYu-ybQ93OYZkS29-DRtRTHOi69NBttITYYDIt8qM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NdHV2_WbxTlIY928ydLeOndno4ng2wGXgOIdwRH4C3o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/O1oq3VBWIXCRZOcEODKVsPQh9JhbxpGL8kxdoUNA2Xk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/O2JIfIPAbNU_AyrIu3ITeqlnbl-vWyXf-t1EMSJmOsg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OBerTNSTXzIbX0mxMxa5-rNM4Ac4UE4kqG7MKCzBCW8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ORnJ_m3WdZwfH2bWBatZYBvNAwCJVkkVnM2LFSXez_k.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Odi8eG0T-hacLQdjMsClrOIJKeHyY_i7igUyfhzhYQI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/P7bTZBQIN0DUvh7TBnru8TPAvlVb9lhvL7dgFP1uHfU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PBEpQ017z0XtT-PsIAJgUhljqbaQgpZE1nVEBJd12MY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q59IhZoGUcaZFUtCZB20KJFkmSdkl2_gA1V5L7yJGfk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QINpVmB_ZIDA8lOKtpjtWXenmF-iXN7quP3wTUzsN-U.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QWbWHsxurDlFdxuxXJdG_GvDcg7agUeoDRzv8R8zbHQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RR0v7bXnkw_DAIqKQUStbF0O5ytMAK_7OZp-5hCVzm0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rj42BFwHvQpHPnt1iAOPi89OYrjqGtGG_4wceo2BBJU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SLDGZ9eYf8c8WiF5yyCfRoNFoLHRSXWrARuMCblGqtk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SULF3NQxB6qO8JJnI5rRyD6rei-J60aW4rraimqf6hk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TJhYo1hoREPI5GIy024MsD1WDV-KFzAQ-9qxDBPyNVI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TWgbWSCl7nRMKksNZWx2gERqMzVoc8vH4GTWuAu0154.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TbRETg3JdW9nRXuEyzoW7fZn2Gs22HedMxdluZ3Pk-o.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TqoiNVS_JI8-efr0qvvDlXUCnSigB1iZGltIJprRQ8c.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TzlFnGHSbzTW25btAhrvA2pw5ihmGbN09P3Rrhu5mIQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/U4CxtV5X10FdgYubaBda5c8_s2q6zlZB6kavI6otXB8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/U7EN8_xFBne9oZCIkCgLEiKMjwtHvKIRczjokWdFLCY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UHMAwy27koeiLUhw5UYw8HVhK5HtgF7ePqguvCyrsEA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/US8iBwx5NDKUDlUSUQgeto6oyF3OraYtysS7f7KE5t8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UbPESDvcrSQKrcCQxpkYhPmAynBLWdbcNBIpk18kMCg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UeY4IPP6X3MGYFy722I41ZTbl-iaYL8IWgSiojNWXGA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UxsyM4_qLbZJmH4OH1lZBfY4pUvXgiut2oKUFUCRaMo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WVf3YD9mocylpbI8QR2n9V6j3Dru7LpfzqQgHhe6swA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W_oE5NUcqzBLMP6yl6RuhR_a-FTgjBG8SOAKP7E_L8o.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WbHKwnC6PqtSmH3GzgZxNoEZ9guk2ovTMX0TqrSXlno.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WbhukjTJe2y7m7NIPtqnTU5fjqTJBiKy3LnqJAo2ZiM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WjJNxRO53_FsR3YzbsWpP6ZaOlqMcZh8uB9A1arbXy4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wxwqx9HQEeTIByaDG6SofLH78EyRKP1RWMRa75Vojmk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X-CgAk4J5uL3mAEfDhZN2HOe_nMblAiMQhbY63tDC2g.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X1EP5y_ZQxqgpQdYFO40WrNWrp8zlKOiQH62WfX_k9o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XTS3kY6cfnC-jQP99MzE045LRqQc20dGPmSJ-rwKcaQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y3iGVPSMAEadLpqj1Fr_Rh65TEdx7NQ31BUL_mkvHGQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y7LIPjdg4ZNJJmw9l9e0xDQCGkvxNjfoE-Vju2PgwK8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YGTNO43Also85pe9ZS76Q1adI9YK6kjdLZkdfUIEMh4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YQIUs0lUtsQcjUrYLQmPgw-F6Wpn8ZOcHP-gcG8rIX4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ybv2APOiKjgjEHSpzZs2mJH_JEeNr7OCQ955fCdOLsk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z95Nkl-1ZNwDFnlxX6wOAIui1B9kHfH0Kg6beVDsoIc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZDXgFaKLUP-qzD5lSx9fNPWhC3p58KhciyGB7TykNJ8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZGq7MOKMLzCiR1Z4oo33rzFPzmxaOyYWdTsYOmAjKlM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZYoVi3M2mzdwCsjS4hzVtP9ZNBWCnBJrXXf-5Hhm14s.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ze4_lzHgd8DPMa09CZ9kktymXe5QX_iBXCItee1lQGY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zipyyq6itMyZhc6YUAQX1ctdhwcYD2Hmm5BMm7uP53A.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_nD_mnkybh4QS7c3pxosM2Jv4bhzKHv4zPZy2NfwJik.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a-QY9no1r9wESk0XVZMU9-j4ILaT0dYl4wZXDp81u-Y.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a3rqfUDI5k3tIDAdRc821L2zpk1g6WrmfBvtBlVnEgI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a5QEJSZhYBkNk1C52Trj85jUyIJcgFE8YFbg6XumdTw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aMJWLCvS9eTggheJfpJ6gUdxsKsYMbflLx1_MJ24ZKw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/adVVa38KCDY87GzjXpzoGgPvNxJbpqXQP4qyVKorPd4.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bJNhvxxAZ5DVoCVfFAfma0Q3igFNdO018d9XPXGh63o.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bUQP6ANjTKNXYQDMNz3PWpFWTF5SivR6uyYkW8BP_Gw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bbwkzDKpUKATPq1GRFiMPj2G42FE46ZCNfZAgLqLMRQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bmZk6kPconCKMdMNPY6ge5xlYPM-NQIZXYf5tVDlkXw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bvqtvdW959hJYsCSqdsI9Y724kgtSkW1sosYSN62nVo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cHt0mH_R8BuiIH1cEUjYkjqVjhH8RPhZeXs0zb3_4_c.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d9L2wE9I51-s1p7CTgQWputeuJCIKyRvhpm3fR07VNc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dfrvxDyfk67Os53_mjIn3hlOfRxqLKK6Ka-CaxTooe4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dqOO06mYDk0wRgPf1Ziyi32XryK_a018r7Ik0uit02Y.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dvfOC1uAjTmhh2f0HAzarTv5_pS4yc3KaLR75Fit-qM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eaQa3YKQ2tB-oxeXJEOnoDd1G_AxpmbUDA7M8ePerD8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/emtU-J87p8RjW3dlyMesXKApGbGgOas7wH_lnbWKHs0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/etla6RgCcLhinP2_LK4J-fcNd7zL6Zsv3TuaU4Dp3nM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/f0Jm47tmsqZA-EQsCGB7qZ4pCA8PcViRHwRfkn4SCi4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fGHWXX_znE2IeH4OVEwaT-hnI07M7LQwb4wWeTMJRro.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fQ3tndxY5LM8i4kyzpKDrFfL_DjRNCfkuAAGs8FrJzU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fhCnloZi1iA-7V3BC8RI6xXWInPaaahS29iDlaPl5AA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gNL-C_p_NsiDm86EYnStDdHnb_J0gwJDgsm6p-x4bPw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gZp3uXMHuYQC4hzCr7bQfetKNdJAtbQmg3so2KpW1Dw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gfj0cNpszRV54KNOJl36bresYupjtNETPwU2DetRc9k.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hP-NOEvXiOPZorwh3pqVCBL8vKPuRlIDwTHqyprLVoc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hhaE1adQGmXVNIJKHKVZbaIPBXTUhK6SFO714rCx5ko.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hm6-kyB9LxlX-CzWtwTNomSbSEMuwwoVr_3foQ75GmI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i8xvGmXJllRh_504HEHUD1D23PNMOSApRFN6VxaAGeo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i9gVzGFdYf8tBYY5zLGbiPPXDvRZtvx_1mtjyYAzGFk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iDT6fOlRmL7PP4VJ4SpONzU8ZkY8gg9feff2z_2j7mQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iNYpWOT4gj3gjeaEngMxlmKOX2jQ5kyS1WMsZhjJAtk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j6D8EPFTb0SpSLvYHCYROUOEDZqM5WlinRPlGPtN_Xw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k4KOaVr9wMGHtsRVXYsTedjUrT_W3sueQj87SiLmgW8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kAOU5FCvxF0g8ScWFZnLfuVMXcwQJkM2k75kf3kbpFo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kz_ifS6iuSrtVYG78G7QIv7rEL4CKPAkG_mtnZcQWIk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lFy-5JQVp3qiNKqL1UVqYkv2JKCV6ltXcPDtdKG7V54.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lK1OKrUN4Aa4ULF5iC8LIO9b_8pD6VtM7QmFoR_Hyq4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lL53cm_saG1cEdc_0TGdAq7tkJ9bY9yXRBIUsR7D8UI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lLcLuHAD8NB0iohQeabHp4dk298iIqeePqXVeuK_3H0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lQjsQ32aYeM4nY8qVi9YPKXqj_2L6xaoKIeIkFS3jWY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lWCdGefGeej2lRA8Gd08bV33SOp8tbEfqqz3Khl78oM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ll6Sc5xrZqzzpgpCPJyeTCs8IODJcalFH8XZZZPfkAY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m1e6jwxRs_JtIZbbRBAxGQj3ds0Xxa5vKED1JPBKbg8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mdQzbY0SX_-f0tvLBNm7fWC40lqQuyho7zhUJ7ckA-A.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nC355jeTqAEoFFK-TABMGHdsHx74SjeE7DBq8xM4Dhk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nC49DzQcJoB-xvh15KbC4AUQA_GA7ivrufj1E3mU3zg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/o5HX-kg2EODqzNhkW_ZAahHuB4yVPP8L5uOFVH8IW-U.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oLDYrqmRAjrPRuhGdX6H1JQeHNOmLTow4Eel5UwH9-4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oiZfRfZUr3qevC6e8k4q1_Y1KeLkrQnabK8XvtQUEdM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oia1xdTfARSP0QPx-08rdbJgtwgivmbJPpE9ZIWHRWI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pDCtCFl3JoTIR1MlLiDOzshquvlPpsMw1yjJ8LUwZoc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p_H61N5uq7AtqCDaaabvjftQdFUpRFgVngUUQoWgonM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pbJWIv8m4Zpz2Vdg_dct0jTcXyyF5C_0qCFMnrfzQhs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q1eWeFH4Ko50zNfNpD0AHOigO-Dl-IY62iz59wxjyB0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/r-umRmbhYnDarxdLHW5j9Ya_kstiUKaW_wRSCCEnWXc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/r9c5JJA88ftlHtJsLKcFJZPZGR3GqsygNyRCMfV1wHs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rHVh31TC4HKKMY-bqx5PCfr3jxc5lwdEripG-OobWMU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rJI5GE_7XaOoa6Tf7NYEISqT7721LVG7poLUF_31-vk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rKZwg5I56SY7UzS6nJb-HhGNojSbnd4thzevRVqjrM4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rrhf-39OhBdaZAyMckqVYYpeo5wOlz7ZF1A5dXTzHyk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/s5WdYMy1zZQyLQ3jgMjyG2nX1lO6T0H6WjDHiIZud-4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sFtUj5nkFtxTPes_76ayDdPoRK5PrNc-85cy8VpguKo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sie-V3ITyZKtkQXFDHqsuBj63wj-vj3KqyZEZnXrDDs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sly1iOCf3l3QeGAfR54WjZQENHSgvySjx1bqYJufS9U.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ssAxKsbsLWPM72bir14WKuhev6AdNBDMeaKwAfBLVbM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tahxNHp-Nubl9PZYv54PoDWwOWBafDdePsdGWgRvxRs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/u2dcdVvrMTVSZ5YM7_utAYZmJdnupBvRHQiNz_VxVNU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/upCRdLKCQ_LMJvznkBqZv3BLnc61IeBeuz1uCClUiXk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vA0eFV_bRhR8l7WhyElPZZM7novqeS1hs7KLtwEisB0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vjPguchHWdt-YK2EYQ9QRKlqa50p-qstw6XHWFpi-TQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vnEp_XTpvwYSWfGJSwbHT-Ga4Y8-E4XFowfSeG3PHlc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w23Vh5f9T1XBR0iY2GvglM6ZnVU3s-UfqM7KRvPhE-k.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w8soQF6_YAg_K7mm0Yt3JPY111kY76FabdY8vbI7AeI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wc53Zkd85TBeGzckO-CbTd5O2OAJYikiGFKHX4BAglo.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wgvcchilGiqf57VaXODqv2ciHGo3kkyL5ntttb4AYRM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wshkkfg_d4VBJnagVOHTQN1ta0hl5JOCCvr8KVcH7rU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wvSMeOG_o73wgdwwrFF7A1-9jU014gjXk-eMKAcLGrk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xPmaTlc5nbaEOxlZXH3InaKfo1PNX9VW0_scNelg7zI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xYFdXkHU4uyzJp5yO_cL8KnYI0FbOjBznbzUSoZW_Jo.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zE9RWNhH3MoYHJkGpFhH69ThF5w97GamQ6V_d1hZRyk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zJhGRCzO2SKJ9xpszxe1bgNXQ3jKOM-Sp_VQ-FcKw08.cache +0 -0
- data/spec/dummy/tmp/capybara/capybara-201603221359263765142952.html +102 -0
- data/spec/dummy/tmp/capybara/capybara-201603221400062416605027.html +102 -0
- data/spec/dummy/tmp/capybara/capybara-201603221401176508690898.html +102 -0
- data/spec/dummy/tmp/pids/server.pid +1 -1
- data/spec/factories/simple_cart/credit_cards.rb +11 -0
- data/spec/factories/simple_cart/deliveries.rb +6 -0
- data/spec/features/simple_cart/cart_feature_spec.rb +47 -0
- data/spec/features/simple_cart/checkout/1.0_billing_address_feature_spec.rb +54 -0
- data/spec/features/simple_cart/checkout/1.5_shipping_address_feature_spec.rb +43 -0
- data/spec/features/simple_cart/checkout/2_delivery_feature_spec.rb +45 -0
- data/spec/features/simple_cart/checkout/3_payment_feature_spec.rb +46 -0
- data/spec/features/simple_cart/checkout/4_confirmation_feature_spec.rb +36 -0
- data/spec/rails_helper.rb +0 -1
- metadata +467 -25
- data/db/migrate/20160314183842_create_simple_cart_asdas.rb +0 -10
- data/spec/dummy/db/migrate/20160314184432_create_simple_cart_order_item.simple_cart.rb +0 -17
- data/spec/dummy/db/migrate/20160314184433_create_simple_cart_order.simple_cart.rb +0 -13
- data/spec/dummy/db/migrate/20160314184434_create_simple_cart_address.simple_cart.rb +0 -20
- data/spec/dummy/db/migrate/20160314184435_create_simple_cart_delivery.simple_cart.rb +0 -12
- data/spec/dummy/db/migrate/20160314184436_create_simple_cart_credit_card.simple_cart.rb +0 -18
- data/spec/dummy/db/migrate/20160314184437_create_simple_cart_asdas.simple_cart.rb +0 -11
- data/spec/dummy/db/migrate/20160314184745_create_things.rb +0 -11
- data/spec/dummy/db/migrate/20160314195958_create_kks.rb +0 -11
- data/spec/features/checkout/1.0_billing_address_feature_spec.rb +0 -52
- 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
|
@@ -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
|
+
|