public void ProspectsHideAProspectRequestIsFormedCorrectly()
{
var mockDataSource = MockRepository.GenerateMock<IWebClient>();
const string data = "";
var expectedUrl = Constants.UnHideAProspectUrl;
// Arrange
mockDataSource
.Stub(x => x.UploadString(
Arg<string>.Is.Anything, // uri
Arg<string>.Is.Anything, // method
Arg<string>.Is.Anything, // content-type
Arg<string>.Is.Anything // data
))
.Return(data);
// Act
var target = new Prospects(accessToken: Constants.AccessToken)
{
UserWebClient = mockDataSource
};
target.HideAProspect(Encoder.UrlEncode(Constants.ProspectOrganization));
// Assert
mockDataSource.AssertWasCalled(c => c.UploadString(
Arg<string>.Matches(actualUrl => actualUrl == expectedUrl),
Arg<string>.Matches(actualMethod => actualMethod == "POST"),
Arg<string>.Matches(actualContentType => actualContentType == "application/x-www-form-urlencoded"),
Arg<string>.Matches(actaulData => actaulData == "marriott%20hotel")));
}