File tree Expand file tree Collapse file tree 2 files changed +42
-0
lines changed Expand file tree Collapse file tree 2 files changed +42
-0
lines changed Original file line number Diff line number Diff line change @@ -8,4 +8,13 @@ namespace :openfarm do
88    Rails . logger  =  Logger . new ( STDOUT ) 
99    OpenfarmService . new . import! 
1010  end 
11+ 
12+   desc  "Delete all pictures with source OpenFarm" 
13+   task  delete_pictures : :environment  do 
14+     puts  "Deleting pictures with source OpenFarm..." 
15+     photos_to_delete  =  Photo . where ( source : 'openfarm' ) 
16+     count  =  photos_to_delete . count 
17+     photos_to_delete . destroy_all 
18+     puts  "Deleted #{ count }   pictures." 
19+   end 
1120end 
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true 
2+ 
3+ require  'rails_helper' 
4+ require  'rake' 
5+ 
6+ describe  'openfarm:delete_pictures'  do 
7+   before ( :all )  do 
8+     Rails . application . load_tasks 
9+   end 
10+ 
11+   # We need to do this because Rake tasks normally output to STDOUT, but we 
12+   # don't want to clutter up the test output. 
13+   before ( :each )  do 
14+     $stdout =  StringIO . new 
15+   end 
16+ 
17+   after ( :each )  do 
18+     $stdout =  STDOUT 
19+   end 
20+ 
21+   it  'deletes pictures with source OpenFarm'  do 
22+     create ( :photo ,  source : 'OpenFarm' ) 
23+     create ( :photo ,  source : 'flickr' ) 
24+ 
25+     expect ( Photo . where ( source : 'OpenFarm' ) . count ) . to  eq ( 1 ) 
26+     expect ( Photo . where ( source : 'flickr' ) . count ) . to  eq ( 1 ) 
27+ 
28+     Rake ::Task [ 'openfarm:delete_pictures' ] . invoke 
29+ 
30+     expect ( Photo . where ( source : 'OpenFarm' ) . count ) . to  eq ( 0 ) 
31+     expect ( Photo . where ( source : 'flickr' ) . count ) . to  eq ( 1 ) 
32+   end 
33+ end 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments