public T Execute <T>(string absoluteUriPath, object entity = null, Method method = Method.GET, bool convertToPropertiesSchema = true) where T : IHubSpotModel, new()
        {
            var json = _serializer.SerializeEntity(entity, convertToPropertiesSchema);

            var data = SendRequest(absoluteUriPath, method, json, responseData => (T)_serializer.DeserializeEntity <T>(responseData, convertToPropertiesSchema));

            return(data);
        }
Exemple #2
0
        /// <summary>
        /// Internal method to allow support for PUT and POST
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="absoluteUriPath"></param>
        /// <param name="entity"></param>
        /// <param name="usePost"></param>
        /// <returns></returns>
        private async Task <T> PutOrPost <T>(string absoluteUriPath, IHubSpotEntity entity, bool usePost)
            where T : IHubSpotEntity, new()
        {
            var json = _serializer.SerializeEntity(entity);

            var data = await SendRequestAsync <T>(
                absoluteUriPath,
                usePost?HttpMethod.Post : HttpMethod.Put,
                json,
                responseData => (T)_serializer.DeserializeEntity <T>(responseData));

            return(data);
        }
        public HubSpotLineItemClientTest(ITestOutputHelper output) : base(output)
        {
            _mockHttpClient = A.Fake <IRapidHttpClient>(opts => opts.Strict());

            A.CallTo(() => _mockHttpClient.SendAsync(A <HttpRequestMessage> .Ignored))
            .Returns(Task.FromResult(CreateNewEmptyOkResponse()));

            _mockSerializer = A.Fake <RequestSerializer>(opts => opts.Strict());
            A.CallTo(() => _mockSerializer.SerializeEntity(A <LineItemHubSpotEntity> .Ignored))
            .Returns("{}");

            A.CallTo(() => _mockSerializer.SerializeEntityToNameValueList <ILineItemHubSpotEntity>(A <LineItemHubSpotEntity> .Ignored))
            .Returns("[]");

            A.CallTo(() => _mockSerializer.DeserializeEntity <LineItemHubSpotEntity>(A <string> .Ignored))
            .Returns(new LineItemHubSpotEntity());

            _client = new HubSpotLineItemClient(
                _mockHttpClient,
                Logger,
                _mockSerializer,
                "https://api.hubapi.com",
                "HapiKeyFisk"
                );
        }
Exemple #4
0
        public async Task CompanyClient_create_contact_work()
        {
            var response = await _client.CreateAsync <CompanyHubSpotEntity>(new CompanyHubSpotEntity
            {
                Name        = "A new Company",
                Description = "A new description"
            });

            A.CallTo(() => _mockHttpClient.SendAsync(A <HttpRequestMessage> .Ignored)).MustHaveHappened();
            A.CallTo(() => _mockSerializer.SerializeEntity(A <IHubSpotEntity> .Ignored)).MustHaveHappened();
            A.CallTo(() => _mockSerializer.DeserializeEntity <CompanyHubSpotEntity>("{}")).MustHaveHappened();
        }
Exemple #5
0
        public async Task ContactClient_create_contact_work()
        {
            var response = await _client.CreateAsync <ContactHubSpotEntity>(new ContactHubSpotEntity
            {
                FirstName = "Adrian",
                Lastname  = "Baws",
                Email     = "*****@*****.**"
            });

            A.CallTo(() => _mockHttpClient.SendAsync(A <HttpRequestMessage> .Ignored)).MustHaveHappened();
            A.CallTo(() => _mockSerializer.SerializeEntity(A <IHubSpotEntity> .Ignored)).MustHaveHappened();
            A.CallTo(() => _mockSerializer.DeserializeEntity <ContactHubSpotEntity>("{}")).MustHaveHappened();
        }
        public async Task LineItemClient_create_lineitem_works()
        {
            var response = await _client.CreateAsync <LineItemHubSpotEntity>(new LineItemHubSpotEntity
            {
                Name      = "A new deal",
                Price     = 12.50M,
                ProductId = "12345",
                Quantity  = 10,
            });

            A.CallTo(() => _mockHttpClient.SendAsync(A <HttpRequestMessage> .Ignored)).MustHaveHappened();
            A.CallTo(() => _mockSerializer.SerializeEntityToNameValueList <ILineItemHubSpotEntity>(A <LineItemHubSpotEntity> .Ignored)).MustHaveHappened();
            A.CallTo(() => _mockSerializer.DeserializeEntity <LineItemHubSpotEntity>("{}")).MustHaveHappened();
        }
        public async Task DealClient_create_contact_work()
        {
            var response = await _client.CreateAsync <DealHubSpotEntity>(new DealHubSpotEntity
            {
                Name     = "A new deal",
                Pipeline = "default",
                Amount   = 60000,
                DealType = "newbusiness"
            });

            A.CallTo(() => _mockHttpClient.SendAsync(A <HttpRequestMessage> .Ignored)).MustHaveHappened();
            A.CallTo(() => _mockSerializer.SerializeEntity(A <IHubSpotEntity> .Ignored)).MustHaveHappened();
            A.CallTo(() => _mockSerializer.DeserializeEntity <DealHubSpotEntity>("{}")).MustHaveHappened();
        }