@@ -4,6 +4,7 @@ describe Agents::SchedulerAgent do |
||
4 | 4 |
before do |
5 | 5 |
@agent = Agents::SchedulerAgent.new(name: 'Example', options: { 'schedule' => '0 * * * *' }) |
6 | 6 |
@agent.user = users(:bob) |
7 |
+ @agent.save |
|
7 | 8 |
end |
8 | 9 |
|
9 | 10 |
describe "validation" do |
@@ -36,6 +37,22 @@ describe Agents::SchedulerAgent do |
||
36 | 37 |
end |
37 | 38 |
end |
38 | 39 |
|
40 |
+ describe "save" do |
|
41 |
+ it "should delete memory['scheduled_at'] if and only if options is changed" do |
|
42 |
+ time = Time.now.to_i |
|
43 |
+ |
|
44 |
+ @agent.memory['scheduled_at'] = time |
|
45 |
+ @agent.save |
|
46 |
+ @agent.memory['scheduled_at'].should == time |
|
47 |
+ |
|
48 |
+ @agent.memory['scheduled_at'] = time |
|
49 |
+ # Currently @agent.options[]= is not detected |
|
50 |
+ @agent.options = { 'schedule' => '*/5 * * * *' } |
|
51 |
+ @agent.save |
|
52 |
+ @agent.memory['scheduled_at'].should be_nil |
|
53 |
+ end |
|
54 |
+ end |
|
55 |
+ |
|
39 | 56 |
describe "check!" do |
40 | 57 |
it "should run targets" do |
41 | 58 |
targets = [agents(:bob_website_agent), agents(:bob_weather_agent)] |