|
|
|
@ -31,12 +31,14 @@ import org.thingsboard.server.common.data.id.EdgeId; |
|
|
|
import org.thingsboard.server.common.data.id.TenantId; |
|
|
|
import org.thingsboard.server.common.data.page.PageData; |
|
|
|
import org.thingsboard.server.common.data.page.PageLink; |
|
|
|
import org.thingsboard.server.common.data.page.SortOrder; |
|
|
|
import org.thingsboard.server.common.data.page.TimePageLink; |
|
|
|
import org.thingsboard.server.dao.exception.DataValidationException; |
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.Comparator; |
|
|
|
import java.util.List; |
|
|
|
import java.util.concurrent.ExecutionException; |
|
|
|
|
|
|
|
@ -204,6 +206,66 @@ public abstract class BaseDashboardServiceTest extends AbstractServiceTest { |
|
|
|
|
|
|
|
tenantService.deleteTenant(tenantId); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void testFindMobileDashboardsByTenantId() { |
|
|
|
Tenant tenant = new Tenant(); |
|
|
|
tenant.setTitle("Test tenant"); |
|
|
|
tenant = tenantService.saveTenant(tenant); |
|
|
|
|
|
|
|
TenantId tenantId = tenant.getId(); |
|
|
|
|
|
|
|
List<DashboardInfo> mobileDashboards = new ArrayList<>(); |
|
|
|
for (int i=0;i<165;i++) { |
|
|
|
Dashboard dashboard = new Dashboard(); |
|
|
|
dashboard.setTenantId(tenantId); |
|
|
|
dashboard.setTitle("Dashboard"+i); |
|
|
|
dashboard.setMobileHide(i % 2 == 0); |
|
|
|
if (!dashboard.isMobileHide()) { |
|
|
|
dashboard.setMobileOrder(i % 4 == 0 ? (int)(Math.random() * 100) : null); |
|
|
|
} |
|
|
|
Dashboard savedDashboard = dashboardService.saveDashboard(dashboard); |
|
|
|
if (!dashboard.isMobileHide()) { |
|
|
|
mobileDashboards.add(new DashboardInfo(savedDashboard)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
List<DashboardInfo> loadedMobileDashboards = new ArrayList<>(); |
|
|
|
PageLink pageLink = new PageLink(16, 0, null, new SortOrder("createdTime", SortOrder.Direction.ASC)); |
|
|
|
PageData<DashboardInfo> pageData = null; |
|
|
|
do { |
|
|
|
pageData = dashboardService.findMobileDashboardsByTenantId(tenantId, pageLink); |
|
|
|
loadedMobileDashboards.addAll(pageData.getData()); |
|
|
|
if (pageData.hasNext()) { |
|
|
|
pageLink = pageLink.nextPageLink(); |
|
|
|
} |
|
|
|
} while (pageData.hasNext()); |
|
|
|
|
|
|
|
Collections.sort(mobileDashboards, (o1, o2) -> { |
|
|
|
Integer order1 = o1.getMobileOrder(); |
|
|
|
Integer order2 = o2.getMobileOrder(); |
|
|
|
if (order1 == null && order2 == null) { |
|
|
|
return o1.getId().getId().compareTo(o2.getId().getId()); |
|
|
|
} else if (order1 == null && order2 != null) { |
|
|
|
return 1; |
|
|
|
} else if (order2 == null) { |
|
|
|
return -1; |
|
|
|
} else { |
|
|
|
return order1 - order2; |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
Assert.assertEquals(mobileDashboards, loadedMobileDashboards); |
|
|
|
|
|
|
|
dashboardService.deleteDashboardsByTenantId(tenantId); |
|
|
|
|
|
|
|
pageLink = new PageLink(31); |
|
|
|
pageData = dashboardService.findMobileDashboardsByTenantId(tenantId, pageLink); |
|
|
|
Assert.assertFalse(pageData.hasNext()); |
|
|
|
Assert.assertTrue(pageData.getData().isEmpty()); |
|
|
|
|
|
|
|
tenantService.deleteTenant(tenantId); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void testFindDashboardsByTenantIdAndTitle() { |
|
|
|
|