From 892f3ada6f68cd27cdc876fb28775a616fee57b5 Mon Sep 17 00:00:00 2001 From: TwinProduction Date: Sat, 24 Jul 2021 22:15:59 -0400 Subject: [PATCH] Add tests for paging package --- storage/store/paging/paging_test.go | 81 +++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 storage/store/paging/paging_test.go diff --git a/storage/store/paging/paging_test.go b/storage/store/paging/paging_test.go new file mode 100644 index 00000000..60bc35a9 --- /dev/null +++ b/storage/store/paging/paging_test.go @@ -0,0 +1,81 @@ +package paging + +import "testing" + +func TestNewServiceStatusParams(t *testing.T) { + type Scenario struct { + Name string + Params *ServiceStatusParams + ExpectedEventsPage int + ExpectedEventsPageSize int + ExpectedResultsPage int + ExpectedResultsPageSize int + ExpectedIncludeUptime bool + } + scenarios := []Scenario{ + { + Name: "empty-params", + Params: NewServiceStatusParams(), + ExpectedEventsPage: 0, + ExpectedEventsPageSize: 0, + ExpectedResultsPage: 0, + ExpectedResultsPageSize: 0, + ExpectedIncludeUptime: false, + }, + { + Name: "with-events-page-2-size-7", + Params: NewServiceStatusParams().WithEvents(2, 7), + ExpectedEventsPage: 2, + ExpectedEventsPageSize: 7, + ExpectedResultsPage: 0, + ExpectedResultsPageSize: 0, + ExpectedIncludeUptime: false, + }, + { + Name: "with-events-page-4-size-3-uptime", + Params: NewServiceStatusParams().WithEvents(4, 3).WithUptime(), + ExpectedEventsPage: 4, + ExpectedEventsPageSize: 3, + ExpectedResultsPage: 0, + ExpectedResultsPageSize: 0, + ExpectedIncludeUptime: true, + }, + { + Name: "with-results-page-1-size-20-uptime", + Params: NewServiceStatusParams().WithResults(1, 20).WithUptime(), + ExpectedEventsPage: 0, + ExpectedEventsPageSize: 0, + ExpectedResultsPage: 1, + ExpectedResultsPageSize: 20, + ExpectedIncludeUptime: true, + }, + { + Name: "with-results-page-2-size-10-events-page-3-size-50", + Params: NewServiceStatusParams().WithResults(2, 10).WithEvents(3, 50), + ExpectedEventsPage: 3, + ExpectedEventsPageSize: 50, + ExpectedResultsPage: 2, + ExpectedResultsPageSize: 10, + ExpectedIncludeUptime: false, + }, + } + for _, scenario := range scenarios { + t.Run(scenario.Name, func(t *testing.T) { + if scenario.Params.EventsPage != scenario.ExpectedEventsPage { + t.Errorf("expected ExpectedEventsPage to be %d, was %d", scenario.ExpectedEventsPageSize, scenario.Params.EventsPage) + } + if scenario.Params.EventsPageSize != scenario.ExpectedEventsPageSize { + t.Errorf("expected EventsPageSize to be %d, was %d", scenario.ExpectedEventsPageSize, scenario.Params.EventsPageSize) + } + if scenario.Params.ResultsPage != scenario.ExpectedResultsPage { + t.Errorf("expected ResultsPage to be %d, was %d", scenario.ExpectedResultsPage, scenario.Params.ResultsPage) + } + if scenario.Params.ResultsPageSize != scenario.ExpectedResultsPageSize { + t.Errorf("expected ResultsPageSize to be %d, was %d", scenario.ExpectedResultsPageSize, scenario.Params.ResultsPageSize) + } + if scenario.Params.IncludeUptime != scenario.ExpectedIncludeUptime { + t.Errorf("expected IncludeUptime to be %v, was %v", scenario.ExpectedIncludeUptime, scenario.Params.IncludeUptime) + } + }) + } +}