Giter Club home page Giter Club logo

halo-sample-cart's Introduction

E-commerce Cart Sample

The cart sample includes a Vagrantfile, behat tests and plain old PHP objects (POPOs) that model the functionality of a basic shopping cart.

Build Status

Requirements

The cart sample uses Vagrant to provision and configure a Virtual Machine that satisfies all the dependencies for the code to work.

Installation

  • Make sure you have a working internet connection. The virtual machine will be downloading packages from the internet in order to configure itself.
  • Download and install Virtualbox.
  • Download and install Vagrant.
  • Start the Vagrant box (VM) by typing: vagrant up
  • During the startup process, the virtual machine will be provisioned with git, php and composer.

Note: We expect installation to take 15-30 minutes to setup. If for any reason it is taking longer, please feel free to reach out to us. We are happy to help.

Running Tests

After installation, ssh into the vagrant box and confirm the tests are working:

$ vagrant ssh
$ cd /vagrant
$ behat

The tests should complete without errors. The majority of the tests will be in a pending state.

Code Layout

Here is a high level overview of the important files in this project:

  • features/cart.feature - the gherkin language that describes scenarios (tests cases) for the sample cart code.
  • features/bootstrap/FeatureContext.php - the Behat file that parses the above cart.feature and executes tests.
  • src/HauteLook/Cart.php - the sample cart class
  • src/HauteLook/Product.php - the same product class

Vagrant will automatically sync any changes you make to these files from your host operating system, so feel free to use whatever editor your are most comfortable with to browse and edit them.

Challenge

The first scenario has been written for you. Please implement as many of the remaining scenarios in `features/cart.feature' as you can within the next 60 minutes. We are judging you on the simplcity of your design and the correctness of the code. Make whatever changes you want to the scenario implementations and source code to accomplish that goal. Do not worry if you cannot finish all of them. Find a good stopping point and send us what you have. We are excited to see it! Zip up the entire directory and email it back to us.

Support

Need help? Please reach out to us! We know computers can be tricky things and we are happy to assist you. Our contact details are in the email we sent you. We will get back to you as soon as we can.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.