public void FieldsFromQueryString_EmptyFields_ReturnsEmptyString() { var partialReponseConfig = new DefaultPartialResponseConfig(); IRequestContext reqContextMock = GenerateRequestMockWithQueryString( partialReponseConfig.FieldsQueryStringName, string.Empty); Assert.Equal( string.Empty, FieldsRetriever.FieldsFromQueryString(reqContextMock, partialReponseConfig.FieldsQueryStringName)); }
public void FieldsFromHeader_EmptyFields_ReturnsEmptyString() { var partialReponseConfig = new DefaultPartialResponseConfig(); var reqContextMock = MockRepository.GenerateStub <IRequestContext>(); reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(string.Empty); Assert.Equal( string.Empty, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName)); }
public void FieldsFromQueryString_OneField_OneFieldReturned() { var partialReponseConfig = new DefaultPartialResponseConfig(); const string IdField = "id"; IRequestContext reqContextMock = GenerateRequestMockWithQueryString(partialReponseConfig.FieldsQueryStringName, IdField); Assert.Equal( IdField, FieldsRetriever.FieldsFromQueryString(reqContextMock, partialReponseConfig.FieldsQueryStringName)); }
public void SupportedResponseContentType_DefaultConstructor_DefaultValues() { var partialResponseConfig = new DefaultPartialResponseConfig(); Assert.Equal(FieldResolutionMethod.QueryStringAndHeader, partialResponseConfig.FieldResolutionMethod); Assert.Equal("fields", partialResponseConfig.FieldsQueryStringName); Assert.Equal("x-fields", partialResponseConfig.FieldsHeaderName); Assert.Equal(3, partialResponseConfig.SupportedResponseContentType.Count); Assert.True(partialResponseConfig.SupportedResponseContentType.Contains("application/json")); Assert.True(partialResponseConfig.SupportedResponseContentType.Contains("application/jsv")); Assert.True(partialResponseConfig.SupportedResponseContentType.Contains("text/html")); }
public void FieldsFromQueryString_OneField_OneFieldReturned() { var partialReponseConfig = new DefaultPartialResponseConfig(); const string IdField = "id"; var request = MockRepository.GenerateStub<IRequest>(); StubQueryString(request, partialReponseConfig.FieldsQueryStringName, IdField); Assert.Equal( IdField, FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName)); }
public void FieldsFromQueryString_EmptyFields_ReturnsEmptyString() { var partialReponseConfig = new DefaultPartialResponseConfig(); var request = MockRepository.GenerateStub <IRequest>(); StubQueryString(request, partialReponseConfig.FieldsQueryStringName, string.Empty); Assert.Equal( string.Empty, FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName)); }
public void FieldsFromHeader_OneField_OneFieldReturned() { var partialReponseConfig = new DefaultPartialResponseConfig(); const string IdField = "id"; var reqContextMock = MockRepository.GenerateStub <IRequestContext>(); reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(IdField); Assert.Equal( IdField, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName)); }
public void FieldsFromHeader_OneField_OneFieldReturned() { var partialReponseConfig = new DefaultPartialResponseConfig(); const string IdField = "id"; var request = MockRepository.GenerateStub <IRequest>(); StubHeaders(request, partialReponseConfig.FieldsHeaderName, IdField); Assert.Equal( IdField, FieldsRetriever.FieldsFromHeader(request, partialReponseConfig.FieldsHeaderName)); }
public void FieldsFromQueryString_TwoFields_TwoFieldReturned() { var partialReponseConfig = new DefaultPartialResponseConfig(); const string IdField = "id"; const string NameField = "name"; var request = MockRepository.GenerateStub<IRequest>(); StubQueryString(request, partialReponseConfig.FieldsQueryStringName, IdField, NameField); Assert.Equal( string.Join(FieldSelectorConstants.MultipleFieldSeparator.ToString(), IdField, NameField), FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName)); }
public void ToPartialResponse_UnsupportedType_ReturnsSameObject() { const decimal ExpectedSalary = 1234.56m; var fakeDto = new FakeDto {Salary = ExpectedSalary}; var config = new DefaultPartialResponseConfig(); var request = MockRepository.GenerateMock<IRequest>(); request.Expect(x => x.ResponseContentType).Return(config.SupportedResponseContentType[0] + "garbage"); request.Expect(x => x.Headers.Get(config.FieldsHeaderName)).Return("id"); object partialResponse = request.ToPartialResponse(fakeDto, config); Assert.Same(fakeDto, partialResponse); Assert.Equal(ExpectedSalary, ((FakeDto) partialResponse).Salary); }
public void FieldsFromQueryString_TwoFields_TwoFieldReturned() { var partialReponseConfig = new DefaultPartialResponseConfig(); const string IdField = "id"; const string NameField = "name"; var request = MockRepository.GenerateStub <IRequest>(); StubQueryString(request, partialReponseConfig.FieldsQueryStringName, IdField, NameField); Assert.Equal( string.Join(FieldSelectorConstants.MultipleFieldSeparator.ToString(), IdField, NameField), FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName)); }
public void FieldsFromHeader_TwoFields_TwoFieldReturned() { var partialReponseConfig = new DefaultPartialResponseConfig(); const string IdField = "id"; const string NameField = "name"; string joinedHeaderValues = string.Join(",", IdField, NameField); var reqContextMock = MockRepository.GenerateStub <IRequestContext>(); reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(joinedHeaderValues); Assert.Equal( joinedHeaderValues, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName)); }
public void ToPartialResponse_FieldsSetAndSupportedType_ReturnspartialResponse() { const decimal ExpectedSalary = 1234.56m; var fakeDto = new FakeDto {Salary = ExpectedSalary, Person = new FakePerson()}; var config = new DefaultPartialResponseConfig(); var request = MockRepository.GenerateMock<IRequest>(); request.Expect(x => x.ResponseContentType).Return(config.SupportedResponseContentType[0]); request.Expect(x => x.Headers.Get(config.FieldsHeaderName)).Return("salary"); dynamic partialResponse = request.ToPartialResponse(fakeDto, config); Assert.False(((IDictionary<string, object>) partialResponse).ContainsKey("Person")); Assert.True(((IDictionary<string, object>) partialResponse).ContainsKey("Salary")); Assert.Equal(ExpectedSalary, partialResponse.Salary); }
public void ToPartialResponse_UnsupportedType_ReturnsSameObject() { const decimal ExpectedSalary = 1234.56m; var fakeDto = new FakeDto { Salary = ExpectedSalary }; var config = new DefaultPartialResponseConfig(); var reqContextMock = MockRepository.GenerateMock <IRequestContext>(); reqContextMock.Expect(x => x.ResponseContentType).Return(config.SupportedResponseContentType[0] + "garbage"); reqContextMock.Expect(x => x.GetHeader(config.FieldsHeaderName)).Return("id"); object partialResponse = reqContextMock.ToPartialResponse(fakeDto, config); Assert.Same(fakeDto, partialResponse); Assert.Equal(ExpectedSalary, ((FakeDto)partialResponse).Salary); }
public void ToPartialResponse_FieldsSetAndSupportedType_ReturnspartialResponse() { const decimal ExpectedSalary = 1234.56m; var fakeDto = new FakeDto { Salary = ExpectedSalary, Person = new FakePerson() }; var config = new DefaultPartialResponseConfig(); var reqContextMock = MockRepository.GenerateMock <IRequestContext>(); reqContextMock.Expect(x => x.ResponseContentType).Return(config.SupportedResponseContentType[0]); reqContextMock.Expect(x => x.GetHeader(config.FieldsHeaderName)).Return("salary"); dynamic partialResponse = reqContextMock.ToPartialResponse(fakeDto, config); Assert.False(((IDictionary <string, object>)partialResponse).ContainsKey("Person")); Assert.True(((IDictionary <string, object>)partialResponse).ContainsKey("Salary")); Assert.Equal(ExpectedSalary, partialResponse.Salary); }
public void FieldsFromQueryString_EmptyFields_ReturnsEmptyString() { var partialReponseConfig = new DefaultPartialResponseConfig(); var request = MockRepository.GenerateStub<IRequest>(); StubQueryString(request, partialReponseConfig.FieldsQueryStringName, string.Empty); Assert.Equal( string.Empty, FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName)); }
public void FieldsFromHeader_TwoFields_TwoFieldReturned() { var partialReponseConfig = new DefaultPartialResponseConfig(); const string IdField = "id"; const string NameField = "name"; string joinedHeaderValues = string.Join(",", IdField, NameField); var reqContextMock = MockRepository.GenerateStub<IRequestContext>(); reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(joinedHeaderValues); Assert.Equal( joinedHeaderValues, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName)); }
public void FieldsFromHeader_OneField_OneFieldReturned() { var partialReponseConfig = new DefaultPartialResponseConfig(); const string IdField = "id"; var reqContextMock = MockRepository.GenerateStub<IRequestContext>(); reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(IdField); Assert.Equal( IdField, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName)); }
public void FieldsFromHeader_EmptyFields_ReturnsEmptyString() { var partialReponseConfig = new DefaultPartialResponseConfig(); var reqContextMock = MockRepository.GenerateStub<IRequestContext>(); reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(string.Empty); Assert.Equal( string.Empty, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName)); }