Skip to content

A simple Ruby on Rails aptitude test for candidates wishing to join our team

Notifications You must be signed in to change notification settings

dougalcorn/developer_exercise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

==Centro Technology Developer Candidate Exercises

This are exercises to test your aptitude for developing Rails apps. 

This application is a very simple media planning application, similar to the one
we work on every day at Centro.

==Models

* Placement - The Placement of a display advertisement on a website. The
  placement runs from the start_date until the end_date.

* Buy - A Buy is a collection of Placements that will run on a site.

* Plan - A Plan is a collection of Buys purchased by an advertiser.
  Buys consist of Placements of advertisements to be run on one or more sites.

==Tests

The tests use Thoughtbot's Shoulda and FactoryGirl (both included in vendor/gems). 
Documentation is available at http://www.thoughtbot.com/projects

==Exercises

1. Currently, a Buy only has its site's name stored in an instance variable. 
We've generated a resource called Site for you. Please complete the following user 
stories and provide tests for your code.

* A Site can have many Buys. A Buy can have one Site.
* A Site has a name, an URL and a billing contact (you don't need to implement 
  a Contact model).
* Replace the site_name field on Buy with the Site model.
* Write a finder on Plan to find all plans with Buys for a given Site.

2. The application currently has no user interface. Complete these stories with 
  well-tested code. Don't worry about making it look awesome, just make it work.

* As a user, I can create a new Plan.
* As a user, I can add Buys to a Plan.
* As a user, I can add a Site or @site_name to a Buy.
* As a user, I can add and edit Placements on a Buy.
* As a user, I cannot save a Plan unless it has at least one Buy.
* As a user, I cannot save a Buy unless it has a Site or @site_name and at least one 
  Placement.
  
==When you're finished

* Create a branch with your solution on it.
* Send a Github pull request or any clone url to developers@centro.net

About

A simple Ruby on Rails aptitude test for candidates wishing to join our team

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published