Esempio n. 1
0
        public async void GetAllTransactionsAndUpdateAccount_RetrievePageWithValidContent_CorrectResultsReturned()
        {
            // ARRANGE
            int           pageNumber = 1;
            ArrangedTypes arranged   = SetupHttpMock(@"jsonTestFiles/SinglePageTestData.json", HttpStatusCode.OK, pageNumber);

            // ACT
            PageResponseDto response = await arranged.RestPagedDataProvider.GetPageOfTransactions(pageNumber, CancellationToken.None);

            // ASSERT
            response.page.ShouldEqual(1);
            response.totalCount.ShouldEqual(1);
            response.transactions[0].Date.ShouldEqual(DateTime.Parse("12/22/2013 00:00:00"));
            response.transactions[0].Ledger.ShouldEqual("Phone & Internet Expense");
            response.transactions[0].Amount.ShouldEqual(-110.71);
            response.transactions[0].Company.ShouldEqual("SHAW CABLESYSTEMS CALGARY AB");
            arranged.HandlerMock.Protected().Verify(
                "SendAsync",
                Times.Exactly(1), // we expected a single external request
                ItExpr.Is <HttpRequestMessage>(req =>
                                               req.Method == HttpMethod.Get && // we expected a GET request
                                               req.RequestUri == arranged.ExpectedUri // to this uri
                                               ),
                ItExpr.IsAny <CancellationToken>()
                );
        }
Esempio n. 2
0
        public async void GetAllTransactionsAndUpdateAccount_InvalidTotalCountType_CorrectResultsReturned()
        {
            // ARRANGE
            int           pageNumber = 1;
            ArrangedTypes arranged   = SetupHttpMock(@"jsonTestFiles/malformed.invalidTotalCountType.json", HttpStatusCode.OK, pageNumber);

            // ACT
            var taskException = await Assert.ThrowsAsync <ApplicationException>(() => arranged.RestPagedDataProvider.GetPageOfTransactions(pageNumber, CancellationToken.None));
        }
Esempio n. 3
0
        public async void GetAllTransactionsAndUpdateAccount_RequestFailWith_CorrectResultsReturned()
        {
            // ARRANGE
            HttpStatusCode code       = HttpStatusCode.NotFound;
            int            pageNumber = 1;
            ArrangedTypes  arranged   = SetupHttpMock(@"jsonTestFiles/blank.json", code, pageNumber);

            // ACT and Assert
            var taskException = await Assert.ThrowsAsync <SimpleHttpResponseException>(() => arranged.RestPagedDataProvider.GetPageOfTransactions(pageNumber, CancellationToken.None));

            taskException.StatusCode.ShouldEqual(code);
        }