pipedash-plugin-api 0.14.0

Plugin API for Pipedash - CI/CD pipeline dashboard
Documentation
use super::*;

#[test]
fn slices_pages_and_reports_has_more() {
    let page = paginate(
        (0..5).collect(),
        PaginationParams {
            page: 2,
            page_size: 2,
        },
    )
    .unwrap();
    assert_eq!(page.items, [2, 3]);
    assert!(page.has_more);
    assert_eq!(page.total_pages, 3);

    let last = paginate(
        (0..5).collect(),
        PaginationParams {
            page: 3,
            page_size: 2,
        },
    )
    .unwrap();
    assert_eq!(last.items, [4]);
    assert!(!last.has_more);
}

#[test]
fn rejects_invalid_params() {
    assert!(paginate(
        vec![1],
        PaginationParams {
            page: 0,
            page_size: 1
        }
    )
    .is_err());
    assert!(paginate(
        vec![1],
        PaginationParams {
            page: usize::MAX,
            page_size: 200
        }
    )
    .is_err());
}