public void TestGetSurveyPackageAsync_ReturnsSurveyPackage()
        {
            var expectedPackage = new SurveyPackage()
            {
                SurveyName = "SurveyName"
            };

            var mockedNfieldConnection = new Mock <INfieldConnectionClient>();
            var mockedHttpClient       = CreateHttpClientMock(mockedNfieldConnection);

            mockedHttpClient
            .Setup(client => client.GetAsync(new Uri(ServiceAddress, "Surveys/" + SurveyId + "/Package/?type=" + InterviewPackageType.Live)))
            .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(expectedPackage))));

            var target = new NfieldSurveyPackageService();

            target.InitializeNfieldConnection(mockedNfieldConnection.Object);

            var actual = target.GetSurveyPackageAsync(SurveyId, InterviewPackageType.Live).Result;

            Assert.Equal(expectedPackage.SurveyName, actual.SurveyName);
        }
        public void TestGetSurveyPackageAsync_PackageTypeIsUnknown_Throws()
        {
            var target = new NfieldSurveyPackageService();

            Assert.Throws <ArgumentException>(() => UnwrapAggregateException(target.GetSurveyPackageAsync("SurveyId", InterviewPackageType.Unknown)));
        }
        public void TestGetSurveyPackageAsync_SurveyIdIsEmpty_Throws()
        {
            var target = new NfieldSurveyPackageService();

            Assert.Throws <ArgumentException>(() => UnwrapAggregateException(target.GetSurveyPackageAsync("", InterviewPackageType.Test)));
        }