public async Task GetSolutionHardwarePlansPaginatedAsync_ExpectedResult()
        {
            IUKFastDRaaSClient client = Substitute.For <IUKFastDRaaSClient>();

            client.GetPaginatedAsync <HardwarePlan>(
                "/draas/v1/solutions/00000000-0000-0000-0000-000000000000/hardware-plans", null).Returns(Task.Run(() =>
                                                                                                                  new Paginated <HardwarePlan>(client, "/draas/v1/solutions/00000000-0000-0000-0000-000000000000/hardware-plans", null,
                                                                                                                                               new ClientResponse <IList <HardwarePlan> >()
            {
                Body = new ClientResponseBody <IList <HardwarePlan> >()
                {
                    Data = new List <HardwarePlan>()
                    {
                        new HardwarePlan(),
                        new HardwarePlan()
                    }
                }
            })));

            var ops           = new HardwarePlanOperations <HardwarePlan>(client);
            var solutionID    = "00000000-0000-0000-0000-000000000000";
            var hardwarePlans = await ops.GetSolutionHardwarePlansPaginatedAsync(solutionID);

            Assert.AreEqual(2, hardwarePlans.Items.Count);
        }
 public async Task GetSolutionHardwarePlansPaginatedAsync_InvalidSolutionID_ThrowsUKFastClientValidationException()
 {
     var ops = new HardwarePlanOperations <HardwarePlan>(null);
     await Assert.ThrowsExceptionAsync <UKFastClientValidationException>(() =>
                                                                         ops.GetSolutionHardwarePlansPaginatedAsync(""));
 }