Skip to content

Commit 772791e

Browse files
committed
fix: add missing test for 'get_by_block_ranges' in CardanoTransactionRepository
1 parent fc3a9e9 commit 772791e

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

mithril-aggregator/src/database/repository/cardano_transaction_repository.rs

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -690,6 +690,63 @@ mod tests {
690690
);
691691
}
692692

693+
#[tokio::test]
694+
async fn repository_get_transactions_by_block_ranges() {
695+
let connection = Arc::new(cardano_tx_db_connection().unwrap());
696+
let repository = CardanoTransactionRepository::new(connection);
697+
698+
let transactions = vec![
699+
CardanoTransaction::new("tx-hash-1", 10, 50, "block-hash-1", 99),
700+
CardanoTransaction::new("tx-hash-2", 11, 51, "block-hash-2", 100),
701+
CardanoTransaction::new("tx-hash-3", 20, 52, "block-hash-3", 101),
702+
CardanoTransaction::new("tx-hash-4", 31, 53, "block-hash-4", 102),
703+
CardanoTransaction::new("tx-hash-5", 35, 54, "block-hash-5", 103),
704+
CardanoTransaction::new("tx-hash-6", 46, 55, "block-hash-6", 104),
705+
];
706+
repository
707+
.create_transactions(transactions.clone())
708+
.await
709+
.unwrap();
710+
711+
{
712+
let transaction_result = repository
713+
.get_by_block_ranges(vec![BlockRange::from_block_number(100)])
714+
.await
715+
.unwrap();
716+
assert_eq!(Vec::<CardanoTransaction>::new(), transaction_result);
717+
}
718+
{
719+
let transaction_result = repository
720+
.get_by_block_ranges(vec![BlockRange::from_block_number(0)])
721+
.await
722+
.unwrap();
723+
assert_eq!(transactions[0..=1].to_vec(), transaction_result);
724+
}
725+
{
726+
let transaction_result = repository
727+
.get_by_block_ranges(vec![
728+
BlockRange::from_block_number(0),
729+
BlockRange::from_block_number(15),
730+
])
731+
.await
732+
.unwrap();
733+
assert_eq!(transactions[0..=2].to_vec(), transaction_result);
734+
}
735+
{
736+
let transaction_result = repository
737+
.get_by_block_ranges(vec![
738+
BlockRange::from_block_number(0),
739+
BlockRange::from_block_number(30),
740+
])
741+
.await
742+
.unwrap();
743+
assert_eq!(
744+
[transactions[0..=1].to_vec(), transactions[3..=4].to_vec()].concat(),
745+
transaction_result
746+
);
747+
}
748+
}
749+
693750
#[tokio::test]
694751
async fn repository_store_block_range() {
695752
let connection = Arc::new(cardano_tx_db_connection().unwrap());

0 commit comments

Comments
 (0)