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); }
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); }