public void ExpenseService_ShouldCreateExpenseOnce_WhenCraetePostIsCalled()
        {
            // Arrange
            var expenseController = new ExpenseController(expenseServiceMock.Object, mappingServiceMock.Object, householdServiceMock.Object, webHelperMock.Object);
            var model             = new ExpenseViewModel()
            {
                Name         = "_",
                AssignedUser = "******",
                Category     = new Guid().ToString(),
                ExpectedCost = 1M,
                Comment      = "_"
            };

            // Act
            expenseController.Create(model);

            // Assert
            this.expenseServiceMock.Verify(x => x.CreateExpense(
                                               It.IsAny <string>(),
                                               It.IsAny <string>(),
                                               It.IsAny <Guid>(),
                                               It.IsAny <Guid>(),
                                               It.IsAny <decimal>(),
                                               It.IsAny <DateTime>(),
                                               It.IsAny <string>(),
                                               It.IsAny <string>()),
                                           Times.Once);
        }
        public void HouseholdService_ShouldCallGetHouseholdUsersOnce_WhenCreateGetIsCalled()
        {
            // Arrange
            var expenseController = new ExpenseController(expenseServiceMock.Object, mappingServiceMock.Object, householdServiceMock.Object, webHelperMock.Object);

            // Act
            expenseController.Create();

            // Assert
            householdServiceMock.Verify(x => x.GetHouseholdUsers(It.IsAny <Guid>()), Times.Once);
        }
        public void WebHelper_ShouldCallGetHouseholdIdFromCookieOnce_WhenCreateGetIsCalled()
        {
            // Arrange
            var expenseController = new ExpenseController(expenseServiceMock.Object, mappingServiceMock.Object, householdServiceMock.Object, webHelperMock.Object);

            // Act
            expenseController.Create();

            // Assert
            webHelperMock.Verify(x => x.GetHouseholdIdFromCookie(), Times.Once);
        }
        public void WebHelper_ShouldGetUserIdOnce_WhenCraetePostIsCalled()
        {
            // Arrange
            var expenseController = new ExpenseController(expenseServiceMock.Object, mappingServiceMock.Object, householdServiceMock.Object, webHelperMock.Object);
            var model             = new ExpenseViewModel()
            {
                Name         = "_",
                AssignedUser = "******",
                Category     = new Guid().ToString(),
                ExpectedCost = 1M,
                Comment      = "_"
            };

            // Act
            expenseController.Create(model);

            // Assert
            this.webHelperMock.Verify(x => x.GetUserId(), Times.Once);
        }