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.");
        }
Ejemplo n.º 2
0
        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.");
        }
Ejemplo n.º 3
0
        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.");
        }