questions: add async convert_stream test
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			This commit is contained in:
		@@ -248,6 +248,48 @@ pub mod convert_async {
 | 
				
			|||||||
                })
 | 
					                })
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[cfg(test)]
 | 
				
			||||||
 | 
					    mod test {
 | 
				
			||||||
 | 
					        use crate::questions::test::convert_common::sample_batch;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        use super::*;
 | 
				
			||||||
 | 
					        use futures_util::{pin_mut, StreamExt};
 | 
				
			||||||
 | 
					        use insta::assert_yaml_snapshot;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        #[tokio::test]
 | 
				
			||||||
 | 
					        async fn test_convert_stream() {
 | 
				
			||||||
 | 
					            let source = futures::stream::once(async {
 | 
				
			||||||
 | 
					                (
 | 
				
			||||||
 | 
					                    String::from("test.json"),
 | 
				
			||||||
 | 
					                    Ok::<SourceQuestionsBatch, serde_json::Error>(sample_batch()),
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            pin_mut!(source);
 | 
				
			||||||
 | 
					            let converter = QuestionsConverterAsync::from(source);
 | 
				
			||||||
 | 
					            let converter = converter.convert();
 | 
				
			||||||
 | 
					            let converted: Vec<_> = converter.collect().await;
 | 
				
			||||||
 | 
					            assert_yaml_snapshot!(converted, @r#"
 | 
				
			||||||
 | 
					            ---
 | 
				
			||||||
 | 
					            - id: Вопрос 1
 | 
				
			||||||
 | 
					              description: Сколько будет (2 * 2 * 2 + 2) * 2 * 2 + 2
 | 
				
			||||||
 | 
					              answer: "42"
 | 
				
			||||||
 | 
					              batch_info:
 | 
				
			||||||
 | 
					                filename: test.json
 | 
				
			||||||
 | 
					                description: Тестовый
 | 
				
			||||||
 | 
					                date: 00-000-2000
 | 
				
			||||||
 | 
					            - id: Вопрос 2
 | 
				
			||||||
 | 
					              description: Зимой и летом одним цветом
 | 
				
			||||||
 | 
					              answer: ёлка
 | 
				
			||||||
 | 
					              batch_info:
 | 
				
			||||||
 | 
					                filename: test.json
 | 
				
			||||||
 | 
					                description: Тестовый
 | 
				
			||||||
 | 
					                date: 00-000-2000
 | 
				
			||||||
 | 
					              
 | 
				
			||||||
 | 
					            "#);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#[cfg(feature = "convert_async")]
 | 
					#[cfg(feature = "convert_async")]
 | 
				
			||||||
pub use convert_async::QuestionsConverterAsync;
 | 
					pub use convert_async::QuestionsConverterAsync;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user