diff options
Diffstat (limited to 'help')
| -rw-r--r-- | help/Gemfile | 21 | ||||
| -rw-r--r-- | help/Rakefile | 10 | ||||
| -rw-r--r-- | help/Readme.md | 0 | ||||
| -rw-r--r-- | help/app/models/ticket.rb | 16 | ||||
| -rw-r--r-- | help/app/models/ticket_comment.rb | 11 | ||||
| -rw-r--r-- | help/leap_web_help.gemspec | 25 | ||||
| -rw-r--r-- | help/lib/leap_web_help/engine.rb | 4 | ||||
| -rw-r--r-- | help/lib/leap_web_help/version.rb | 3 | ||||
| -rw-r--r-- | help/test/test_helper.rb | 2 | ||||
| -rw-r--r-- | help/test/unit/ticket_comment_test.rb | 19 | ||||
| -rw-r--r-- | help/test/unit/ticket_test.rb | 8 | 
11 files changed, 68 insertions, 51 deletions
| diff --git a/help/Gemfile b/help/Gemfile index 8dfcd78..5e895e9 100644 --- a/help/Gemfile +++ b/help/Gemfile @@ -1,20 +1,15 @@  source "http://rubygems.org" -# Declare your gem's dependencies in leap_web_help.gemspec. +eval(File.read(File.dirname(__FILE__) + '/../common_dependencies.rb')) +eval(File.read(File.dirname(__FILE__) + '/..//ui_dependencies.rb')) + +# We require leap_web_core from here so we can use the path option. +gem "leap_web_core", :path => '../core' + +# Declare your gem's dependencies in leap_web_users.gemspec.  # Bundler will treat runtime dependencies like base dependencies, and  # development dependencies will be added by default to the :development group.  gemspec -# jquery-rails is used by the dummy application -gem "jquery-rails" - -# Declare any dependencies that are still in development here instead of in -# your gemspec. These might include edge Rails or gems from your path or -# Git. Remember to move these dependencies to your gemspec before releasing -# your gem to rubygems.org. -  # To use debugger - gem 'ruby-debug' - - # TODO: not sure I actually want this here, but trying: -  gem 'therubyracer', :platforms => :ruby +# gem 'ruby-debug' diff --git a/help/Rakefile b/help/Rakefile index 9306287..0e73163 100644 --- a/help/Rakefile +++ b/help/Rakefile @@ -1,4 +1,8 @@  #!/usr/bin/env rake + +require 'rake/packagetask' +require 'rubygems/package_task' +  begin    require 'bundler/setup'  rescue LoadError @@ -20,8 +24,10 @@ RDoc::Task.new(:rdoc) do |rdoc|    rdoc.rdoc_files.include('lib/**/*.rb')  end - - +spec = eval(File.read('leap_web_help.gemspec')) +Gem::PackageTask.new(spec) do |p| +    p.gem_spec = spec +end  Bundler::GemHelper.install_tasks diff --git a/help/Readme.md b/help/Readme.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/help/Readme.md diff --git a/help/app/models/ticket.rb b/help/app/models/ticket.rb index 8a282b5..784d7ef 100644 --- a/help/app/models/ticket.rb +++ b/help/app/models/ticket.rb @@ -24,11 +24,12 @@ class Ticket < CouchRest::Model::Base    #property :user_verified, TrueClass, :default => false #will be true exactly when user is set    #admins    property :code, String, :protected => true # only should be set if created_by is nil +  property :is_open, TrueClass, :default => true    property :comments, [TicketComment]    timestamps! -  before_validation :set_code, :on => :create +  before_validation :set_created_by, :set_code, :on => :create    design do      view :by_title @@ -37,7 +38,9 @@ class Ticket < CouchRest::Model::Base    validates :email, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/, :if => :email #email address is optional -  #set created_by to be current_user +  def set_created_by +    self.created_by = User.current if User.current +  end    def is_creator_validated?      !!created_by @@ -48,6 +51,15 @@ class Ticket < CouchRest::Model::Base      self.code = SecureRandom.hex(8) if !is_creator_validated?    end +  def close +    self.is_open = false +    save +  end + +  def reopen +    self.is_open = true +    save +  end  =begin    def validate diff --git a/help/app/models/ticket_comment.rb b/help/app/models/ticket_comment.rb index 1e23136..652133a 100644 --- a/help/app/models/ticket_comment.rb +++ b/help/app/models/ticket_comment.rb @@ -1,8 +1,6 @@ -class TicketComment < CouchRest::Model::Base #?? do we want this to be a base model?  +class TicketComment    include CouchRest::Model::Embeddable  -  #use_database "ticket_comments" -    #belongs_to :ticket #is this best way to do it? will want to access all of a tickets comments, so maybe this isn't the way?    property :posted_by, Integer, :protected => true# maybe this should be current_user if that is set, meaning the user is logged in  #String # user??    # if the current user is not set, then we could just say the comment comes from an 'unauthenticated user', which would be somebody with the secret URL @@ -10,7 +8,7 @@ class TicketComment < CouchRest::Model::Base #?? do we want this to be a base mo    #property :posted_verified, TrueClass, :protected => true #should be true if current_user is set when the comment is created    property :body, String -  before_validation :set_time, :set_posted_by, :on => :create # hmm, this requires object to be validated for these methods to be called, but if this is only embeddedable (which might be best), then not clear how to do this without manually validating. +  before_validation :set_time#, :set_posted_by    #design do    #  view :by_posted_at @@ -25,9 +23,10 @@ class TicketComment < CouchRest::Model::Base #?? do we want this to be a base mo      self.posted_at = Time.now    end +=begin    def set_posted_by -    #should be something like this, but current_user is not set yet -    #self.posted_by = current_user if current_user +    self.posted_by = User.current if User.current    end +=end  end diff --git a/help/leap_web_help.gemspec b/help/leap_web_help.gemspec index 19b59d7..09827dc 100644 --- a/help/leap_web_help.gemspec +++ b/help/leap_web_help.gemspec @@ -1,26 +1,19 @@  $:.push File.expand_path("../lib", __FILE__) -# Maintain your gem's version: -require "leap_web_help/version" -require "leap_web_core/dependencies" +require File.expand_path('../../lib/leap_web/version.rb', __FILE__)  # Describe your gem and declare its dependencies:  Gem::Specification.new do |s|    s.name        = "leap_web_help" -  s.version     = LeapWebHelp::VERSION -  s.authors     = ["TODO: Your name"] -  s.email       = ["TODO: Your email"] -  s.homepage    = "TODO" -  s.summary     = "TODO: Summary of LeapWebHelp." -  s.description = "TODO: Description of LeapWebHelp." +  s.version     = LeapWeb::VERSION +  s.authors     = ["Jessib"] +  s.email       = ["jessib@leap.se"] +  s.homepage    = "http://www.leap.se" +  s.summary     = "Help Desk for LeapWeb" +  s.description = "Managing Tickets for a Leap provider" -  s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"] +  s.files = Dir["{app,config,db,lib}/**/*"] + ["Rakefile", "Readme.md"]    s.test_files = Dir["test/**/*"] -  s.add_dependency "rails", "~> 3.2.8" -  s.add_dependency "leap_web_core", "~> 0.0.1" -  -  LeapWebCore::Dependencies.add_ui_gems_to_spec(s) -   -  # s.add_dependency "jquery-rails" +  s.add_dependency "leap_web_core", LeapWeb::VERSION  end diff --git a/help/lib/leap_web_help/engine.rb b/help/lib/leap_web_help/engine.rb index 2ff3e86..4146dfc 100644 --- a/help/lib/leap_web_help/engine.rb +++ b/help/lib/leap_web_help/engine.rb @@ -1,8 +1,6 @@  # thou shall require all your dependencies in an engine.  require "leap_web_core" -#require "leap_web_users" #necessary?  - -LeapWebCore::Dependencies.require_ui_gems +require "leap_web_core/ui_dependencies"  module LeapWebHelp    class Engine < ::Rails::Engine diff --git a/help/lib/leap_web_help/version.rb b/help/lib/leap_web_help/version.rb deleted file mode 100644 index 6a7c85d..0000000 --- a/help/lib/leap_web_help/version.rb +++ /dev/null @@ -1,3 +0,0 @@ -module LeapWebHelp -  VERSION = "0.0.1" -end diff --git a/help/test/test_helper.rb b/help/test/test_helper.rb index 1e26a31..3381f44 100644 --- a/help/test/test_helper.rb +++ b/help/test/test_helper.rb @@ -1,7 +1,7 @@  # Configure Rails Environment  ENV["RAILS_ENV"] = "test" -require File.expand_path("../dummy/config/environment.rb",  __FILE__) +require File.expand_path('../../../test/dummy/config/environment', __FILE__)  require "rails/test_help"  Rails.backtrace_cleaner.remove_silencers! diff --git a/help/test/unit/ticket_comment_test.rb b/help/test/unit/ticket_comment_test.rb index 37e6e67..883720f 100644 --- a/help/test/unit/ticket_comment_test.rb +++ b/help/test/unit/ticket_comment_test.rb @@ -25,21 +25,32 @@ class TicketCommentTest < ActiveSupport::TestCase      #tc.ticket = Ticket.find_by_title("test title")      #tc.ticket.title    end +   +=begin +  test "create authenticated comment" do +    User.current = 4 +    comment2 = TicketComment.new :body => "help my email is broken!" +    comment2.valid? #save # should not save comment +    assert_not_nil comment2.posted_by +  end +=end    test "add comments" do      testticket = Ticket.create :title => "testing"      assert_equal testticket.comments.count, 0      comment = TicketComment.new :body => "my email broke" -    assert comment.valid? #validating or saving necessary for setting posted_at -    assert_not_nil comment.posted_at +    #assert comment.valid? #validating or saving necessary for setting posted_at +    #assert_not_nil comment.posted_at      testticket.comments << comment      assert_equal testticket.comments.count, 1      sleep(1) # so first comment has earlier posted_at time      comment2 = TicketComment.new :body => "my email broke" -    comment2.save #possible to save only if ticketcomment is a model now -    testticket.comments << comment2 +    testticket.comments << comment2 #this should validate comment2 +    testticket.valid?      assert_equal testticket.comments.count, 2 +    assert_not_nil comment.posted_at +    assert_not_nil testticket.comments.last.posted_at      assert testticket.comments.first.posted_at < testticket.comments.last.posted_at    end diff --git a/help/test/unit/ticket_test.rb b/help/test/unit/ticket_test.rb index fddd719..c3a4759 100644 --- a/help/test/unit/ticket_test.rb +++ b/help/test/unit/ticket_test.rb @@ -14,6 +14,11 @@ class TicketTest < ActiveSupport::TestCase      assert t.valid?      assert_equal t.title, 'test title' +    assert t.is_open +    t.close +    assert !t.is_open +    t.reopen +    assert t.is_open      #user = LeapWebHelp::User.new(User.valid_attributes_hash)      #user = LeapWebUsers::User.create @@ -41,7 +46,8 @@ class TicketTest < ActiveSupport::TestCase      assert_not_nil t1.code      assert_nil t1.created_by -    t2 = Ticket.create :title => 'test title', :created_by => 4 +    User.current = 4 +    t2 = Ticket.create :title => 'test title'      assert_nil t2.code      assert_not_nil t2.created_by | 
