예제 #1
0
        public void GetAll()
        {
            // Arrange
            var mockRepository = new MockRepository(MockBehavior.Strict);
            var mockClient     = mockRepository.Create <IClient>();

            mockClient
            .Setup(c => c.GetAsync(ENDPOINT, It.IsAny <CancellationToken>()))
            .ReturnsAsync(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MULTIPLE_SUPPRESSION_GROUPS_JSON)
            })
            .Verifiable();

            var groups = new UnsubscribeGroups(mockClient.Object, ENDPOINT);

            // Act
            var result = groups.GetAllAsync(CancellationToken.None).Result;

            // Assert
            result.ShouldNotBeNull();
            result.Length.ShouldBe(2);
            result[0].Id.ShouldBe(100);
            result[1].Id.ShouldBe(101);
        }
예제 #2
0
        public void GetAll()
        {
            // Arrange
            var apiResponse = @"[
				{
					'id': 100,
					'name': 'Newsletters',
					'description': 'Our monthly newsletter.',
					'last_email_sent_at': null,
					'is_default': true,
					'unsubscribes': 400
				},
				{
					'id': 101,
					'name': 'Alerts',
					'description 2': 'Emails triggered by user-defined rules.',
					'last_email_sent_at': null,
					'is_default': false,
					'unsubscribes': 1
				}
			]"            ;

            var mockClient = new Mock <IClient>(MockBehavior.Strict);

            mockClient.Setup(c => c.GetAsync(ENDPOINT, It.IsAny <CancellationToken>()))
            .ReturnsAsync(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(apiResponse)
            });

            var groups = new UnsubscribeGroups(mockClient.Object);

            // Act
            var result = groups.GetAllAsync(CancellationToken.None).Result;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Length);
            Assert.AreEqual(100, result[0].Id);
            Assert.AreEqual(101, result[1].Id);
        }
예제 #3
0
        public async Task GetAllAsync()
        {
            // Arrange
            var mockHttp = new MockHttpMessageHandler();

            mockHttp.Expect(HttpMethod.Get, Utils.GetSendGridApiUri(ENDPOINT)).Respond("application/json", MULTIPLE_SUPPRESSION_GROUPS_JSON);

            var client = Utils.GetFluentClient(mockHttp);
            var groups = new UnsubscribeGroups(client);

            // Act
            var result = await groups.GetAllAsync(null, CancellationToken.None).ConfigureAwait(false);

            // Assert
            mockHttp.VerifyNoOutstandingExpectation();
            mockHttp.VerifyNoOutstandingRequest();
            result.ShouldNotBeNull();
            result.Length.ShouldBe(2);
            result[0].Id.ShouldBe(100);
            result[1].Id.ShouldBe(101);
        }