コード例 #1
0
ファイル: QuoteTests.cs プロジェクト: iansrobinson/Restbucks
        public void ShouldGetQuoteFromQuoteEngine()
        {
            var mockQuoteEngine = MockRepository.GenerateMock<IQuotationEngine>();

            var id = Guid.NewGuid();

            var expectedQuote = new Quotation(
                Guid.Empty,
                DateTime.Now,
                new[]
                    {
                        new LineItem("item1", new Quantity("g", 250), new Money("GBP", 2.50)),
                        new LineItem("item2", new Quantity("kg", 2), new Money("GBP", 2.00))
                    });

            mockQuoteEngine.Expect(q => q.GetQuote(id)).Return(expectedQuote);

            var request = new HttpRequestMessage {RequestUri = DefaultUriFactory.Instance.CreateAbsoluteUri<Quote>(BaseAddress, id)};
            var quote = new Quote(DefaultUriFactory.Instance, mockQuoteEngine);
            var response = quote.Get(id.ToString("N"), request);

            var body = response.Content.ReadAsOrDefault();

            Assert.True(body.HasItems);
            Assert.True(Matching.LineItemsMatchItems(expectedQuote.LineItems, body.Items));

            mockQuoteEngine.VerifyAllExpectations();
        }
コード例 #2
0
ファイル: QuoteTests.cs プロジェクト: iansrobinson/Restbucks
        private static Shop ExecuteRequestReturnEntityBody()
        {
            var quote = new Quote(DefaultUriFactory.Instance, DummyQuotationEngine.Instance);

            var request = new HttpRequestMessage {RequestUri = DefaultUriFactory.Instance.CreateAbsoluteUri<Quote>(BaseAddress, DummyQuotationEngine.QuoteId)};
            var response = quote.Get(DummyQuotationEngine.QuoteId, request);

            return response.Content.ReadAsOrDefault();
        }
コード例 #3
0
ファイル: QuoteTests.cs プロジェクト: iansrobinson/Restbucks
 private static HttpResponseMessage ExecuteRequestReturnResponse()
 {
     var quote = new Quote(DefaultUriFactory.Instance, DummyQuotationEngine.Instance);
     var request = new HttpRequestMessage {RequestUri = DefaultUriFactory.Instance.CreateAbsoluteUri<Quote>(BaseAddress, DummyQuotationEngine.QuoteId)};
     return quote.Get(DummyQuotationEngine.QuoteId, request);
 }
コード例 #4
0
ファイル: QuoteTests.cs プロジェクト: iansrobinson/Restbucks
        public void ShouldReturn404NotFoundWhenGettingQuoteThatDoesNotExist()
        {
            var quote = new Quote(DefaultUriFactory.Instance, EmptyQuotationEngine.Instance);

            try
            {
                quote.Get(Guid.NewGuid().ToString("N"), new HttpRequestMessage());
                Assert.Fail();
            }
            catch (HttpResponseException ex)
            {
                Assert.AreEqual(HttpStatusCode.NotFound, ex.Response.StatusCode);
            }
        }