public async Task RequestsCorrectUrl()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new OrganizationsClient(connection);

                var filters = new OrganizationDealFilters
                {
                    PageSize  = 1,
                    PageCount = 1,
                    StartPage = 0,
                };

                await client.GetDeals(123, filters);

                Received.InOrder(async() =>
                {
                    await connection.GetAll <Deal>(
                        Arg.Is <Uri>(u => u.ToString() == "organizations/123/deals"),
                        Arg.Is <Dictionary <string, string> >(d => d.Count == 1 &&
                                                              d["id"] == "123"),
                        Arg.Is <ApiOptions>(o => o.PageSize == 1 &&
                                            o.PageCount == 1 &&
                                            o.StartPage == 0));
                });
            }
            public async Task ReturnsCorrectCountWithoutStart()
            {
                var pipedrive = Helper.GetAuthenticatedClient();

                var options = new OrganizationDealFilters
                {
                    PageSize  = 3,
                    PageCount = 1
                };

                var stageDeals = await pipedrive.Organization.GetDeals(5, options);

                Assert.Equal(3, stageDeals.Count);
            }
            public async Task ReturnsDistinctInfosBasedOnStartPage()
            {
                var pipedrive = Helper.GetAuthenticatedClient();

                var startOptions = new OrganizationDealFilters
                {
                    PageSize  = 1,
                    PageCount = 1
                };

                var firstPage = await pipedrive.Organization.GetDeals(5, startOptions);

                var skipStartOptions = new OrganizationDealFilters
                {
                    PageSize  = 1,
                    PageCount = 1,
                    StartPage = 1
                };

                var secondPage = await pipedrive.Organization.GetDeals(5, skipStartOptions);

                Assert.NotEqual(firstPage[0].Id, secondPage[0].Id);
            }