Esempio n. 1
0
        public async Task InvokeWithNullCurrentUserReturnsNull()
        {
            // Arrange
            var appSettings = new AppSettings
            {
                Splitwise = new Splitwise
                {
                    ConsumerKey            = "consumerKey",
                    ConsumerSecret         = "consumerSecret",
                    FriendEmail            = "friendEmail",
                    TransactionsDatedAfter = new DateTimeOffset()
                },
                Ynab = new Ynab
                {
                    PersonalAccessToken  = "personalAccessToken",
                    BudgetName           = "budgetName",
                    SplitwiseAccountName = "splitwiseAccountName"
                }
            };

            var expectedUser = new CurrentUserResponse();

            _splitwiseClient.GetCurrentUser().Returns(expectedUser);

            // Act
            _sut = new GetSplitwiseInfoOperation(_logger, _splitwiseClient);
            var result = await _sut.Invoke(appSettings);

            // Assert
            Assert.Null(result);
        }
Esempio n. 2
0
        public async Task InvokeWithNullExpensesReturnsExpected()
        {
            // Arrange
            var appSettings = new AppSettings
            {
                Splitwise = new Splitwise
                {
                    ConsumerKey            = "consumerKey",
                    ConsumerSecret         = "consumerSecret",
                    FriendEmail            = "friendEmail",
                    TransactionsDatedAfter = new DateTimeOffset()
                },
                Ynab = new Ynab
                {
                    PersonalAccessToken  = "personalAccessToken",
                    BudgetName           = "budgetName",
                    SplitwiseAccountName = "splitwiseAccountName"
                }
            };

            var expectedUser = new CurrentUserResponse {
                User = new User {
                    Id = 1, FirstName = "firstName"
                }
            };

            _splitwiseClient.GetCurrentUser().Returns(expectedUser);

            var expectedFriends = new FriendsResponse
            {
                Friends = new List <FriendModel> {
                    new() { Email = "friendEmail", FirstName = "friendName", Id = 2 }
                }
            };

            _splitwiseClient.GetFriends().Returns(expectedFriends);

            var expectedExpenses = new ExpensesResponse();

            _splitwiseClient
            .GetExpenses(friendId: 2, datedAfter: appSettings.Splitwise.TransactionsDatedAfter, limit: 0)
            .Returns(expectedExpenses);

            // Act
            _sut = new GetSplitwiseInfoOperation(_logger, _splitwiseClient);
            var result = await _sut.Invoke(appSettings);

            // Assert
            Assert.Null(result);
        }