public void AddExpense()
        {
            // Arrange
            var groupId     = 1;
            var userId      = "user";
            var otherUserId = "otherUser";
            var group       = new Group
            {
                GroupId = groupId,
                Members = new List <User> {
                    new User {
                        Id = userId
                    }, new User {
                        Id = otherUserId
                    }
                }
            };
            var description  = "desc";
            var date         = new DateTime(2015, 1, 1);
            var amount       = 15.11;
            var participants = new List <string> {
                userId, otherUserId
            };
            var expectedExpense = new Expense
            {
                Amount       = amount,
                Date         = date,
                Description  = description,
                GroupId      = groupId,
                UserPayingId = userId
            };

            _groupsRepositoryMock.Setup(x => x.Get(groupId)).Returns(group);

            // Act
            _transactionService.AddExpense(userId, groupId, description, date, amount, participants);

            // Assert
            _expensesRepositoryMock.Verify(x => x.Add(expectedExpense), Times.Once());
            _unitOfWorkMock.Verify(x => x.SaveChanges(), Times.Once());
        }