summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo k <mo@mokhan.ca>2012-03-04 14:45:05 -0700
committermo k <mo@mokhan.ca>2012-03-04 14:45:05 -0700
commitfdcae42bd19ce269d966f4c395350f69dd1c17ab (patch)
tree31d0c6571f5fd2187b4ac996eabade3beb0cc28e
parent63890bbb6495e6943765932135585fcb61a0510e (diff)
rename timesheet to project and use a query builder instead of repository to load all projects
-rw-r--r--controller/init.rb2
-rw-r--r--controller/project.rb11
-rw-r--r--controller/timesheet.rb8
-rw-r--r--spec/unit/controllers/project.rb21
-rw-r--r--spec/unit/controllers/timesheet.rb18
5 files changed, 33 insertions, 27 deletions
diff --git a/controller/init.rb b/controller/init.rb
index acd9e65..6943826 100644
--- a/controller/init.rb
+++ b/controller/init.rb
@@ -16,4 +16,4 @@ end
# end
#
require __DIR__('main')
-require __DIR__('timesheet')
+require __DIR__('project')
diff --git a/controller/project.rb b/controller/project.rb
new file mode 100644
index 0000000..7b3c073
--- /dev/null
+++ b/controller/project.rb
@@ -0,0 +1,11 @@
+class ProjectController < Controller
+ def initialize(query_builder)
+ @query_builder = query_builder
+ end
+ def index
+ @query_builder.build(FindAllProjects).fetch
+ end
+end
+class FindAllProjects
+
+end
diff --git a/controller/timesheet.rb b/controller/timesheet.rb
deleted file mode 100644
index 7a36172..0000000
--- a/controller/timesheet.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-class TimesheetController < Controller
- def initialize(repository)
- @repository = repository
- end
- def index
- @repository.find_all Timesheet
- end
-end
diff --git a/spec/unit/controllers/project.rb b/spec/unit/controllers/project.rb
new file mode 100644
index 0000000..e42235a
--- /dev/null
+++ b/spec/unit/controllers/project.rb
@@ -0,0 +1,21 @@
+describe ProjectController do
+ before do
+ @query_builder = fake
+ @sut = ProjectController.new(@query_builder)
+ end
+ describe "when loading all timesheets" do
+ it "should return all the timesheets" do
+ @results[0].must_equal(@project)
+ @results.must_equal(@projects)
+ end
+ before do
+ @projects = []
+ @project = fake
+ @projects << @project
+ query = fake
+ @query_builder.stub(:build).with(FindAllProjects).and_return(query)
+ query.stub(:fetch).ignore_arg.and_return(@projects)
+ @results = @sut.index
+ end
+ end
+end
diff --git a/spec/unit/controllers/timesheet.rb b/spec/unit/controllers/timesheet.rb
deleted file mode 100644
index 247e59d..0000000
--- a/spec/unit/controllers/timesheet.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-describe TimesheetController do
- before do
- @repository = fake
- @sut = TimesheetController.new(@repository)
- end
- describe "when loading all timesheets" do
- it "should return all the timesheets" do
- @results[0].must_equal(@timesheet)
- end
- before do
- timesheets = []
- @timesheet = fake
- timesheets << @timesheet
- @repository.stub(:find_all).with(Timesheet).and_return(timesheets)
- @results = @sut.index
- end
- end
-end