mirror of
				https://github.com/aasm/aasm
				synced 2023-03-27 23:22:41 -04:00 
			
		
		
		
	transitions_from_state considers missing from state
This commit is contained in:
		
							parent
							
								
									ab29f0abd4
								
							
						
					
					
						commit
						40b9848571
					
				
					 2 changed files with 18 additions and 1 deletions
				
			
		|  | @ -26,7 +26,7 @@ module AASM | |||
|     end | ||||
| 
 | ||||
|     def transitions_from_state(state) | ||||
|       @transitions.select { |t| t.from == state } | ||||
|       @transitions.select { |t| t.from.nil? or t.from == state } | ||||
|     end | ||||
| 
 | ||||
|     def transitions_to_state?(state) | ||||
|  |  | |||
|  | @ -58,6 +58,23 @@ describe 'transition inspection' do | |||
|   end | ||||
| end | ||||
| 
 | ||||
| describe 'transition inspection without from' do | ||||
|   let(:event) do | ||||
|     AASM::Event.new(:run) do | ||||
|       transitions :to => :running | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   it 'should support inspecting transitions from other states' do | ||||
|     expect(event.transitions_from_state(:sleeping).map(&:to)).to eq([:running]) | ||||
|     expect(event.transitions_from_state?(:sleeping)).to be_true | ||||
| 
 | ||||
|     expect(event.transitions_from_state(:cleaning).map(&:to)).to eq([:running]) | ||||
|     expect(event.transitions_from_state?(:cleaning)).to be_true | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| 
 | ||||
| describe 'firing an event' do | ||||
|   it 'should return nil if the transitions are empty' do | ||||
|     obj = double('object', :aasm => double('aasm', :current_state => 'open')) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Daniel Rikowski
						Daniel Rikowski