public void you_can_check_existence_of_a_product() { var finder = new FindCommand(Internet, Settings.BaseUrl); var result = finder.Exists(AnyProduct.Key); Assert.IsTrue(result, "Expected the result to be true because the Product does exist."); const String AN_ID_THAT_DOES_NOT_EXIST = "Phil Murphy's fanny pack"; result = finder.Exists(AN_ID_THAT_DOES_NOT_EXIST); Assert.IsFalse(result, "Expected the result to be false because the Product does not exist."); }
public void exists_returns_a_value_that_depends_on_response_status() { var okResponse = NewFakeResponse(HttpStatusCode.OK); var internet = MockRepository.GenerateStub<TheInternet>(); var finder = new FindCommand(internet, "http://xxx"); internet.Stub(it => it.Get(Arg<Uri>.Is.Anything)).Return(okResponse); Assert.IsTrue(finder.Exists("xxx"), "Expected true because the internet returned OK."); var notFoundResponse = NewFakeResponse(HttpStatusCode.NotFound); internet = MockRepository.GenerateStub<TheInternet>(); internet.Stub(it => it.Get(Arg<Uri>.Is.Anything)).Return(notFoundResponse).Repeat.AtLeastOnce(); finder = new FindCommand(internet, "http://xxx"); Assert.IsFalse(finder.Exists("xxx"), "Expected false because the internet returned NotFound."); }
public void exists_fails_when_internet_returns_401_unauthorized() { var expectedStatus = HttpStatusCode.Unauthorized; var unauthorizedResponse = NewFakeResponse(expectedStatus); var internet = MockRepository.GenerateStub<TheInternet>(); internet.Stub(it => it.Get(Arg<Uri>.Is.Anything)).Return(unauthorizedResponse); var finder = new FindCommand(internet, "http://xxx"); var expectedError = String.Format( "Authorization failed. The server returned status {0} ({1}).", expectedStatus, (Int32)expectedStatus ); var theError = Assert.Throws<Exception>(() => finder.Exists("xxx")); Assert.AreEqual(expectedError, theError.Message, "The error was raised, but the message does not match."); }