def generic_test_de_activate_user(self, user_data):
        """(De)activating a user does make the user (in)active."""

        # Cache default state
        statuses = {}
        for user in self.test_data['users']:
            statuses[user['username']] = user['is_active']

        # Activate/deactivate user using the superuser
        LoginPage(self).login(self.superuser['username'],
                              self.superuser['password'])
        users_page = UsersPage(self)
        users_page.go_to()
        users_page.click_de_activate_button(user_data['username'])
        self.logout()

        # Check that activated user can now log in
        if not user_data['is_active']:
            LoginPage(self).login(user_data['username'], user_data['password'])
            self.logout()

        # Check that deactivated user cannot log in
        if user_data['is_active']:
            self.check_inactive_login(user_data)

        # Check that status of all users are OK
        statuses[user_data['username']] = not user_data['is_active']
        self.check_user_status(statuses)
    def generic_test_de_activate_user(self, user_data):
        """(De)activating a user does make the user (in)active."""

        # Cache default state
        statuses = {}
        for user in self.test_data['users']:
            statuses[user['username']] = user['is_active']

        # Activate/deactivate user using the superuser
        LoginPage(self).login(self.superuser['username'],
                              self.superuser['password'])
        users_page = UsersPage(self)
        users_page.go_to()
        users_page.click_de_activate_button(user_data['username'])
        self.logout()

        # Check that activated user can now log in
        if not user_data['is_active']:
            LoginPage(self).login(user_data['username'], user_data['password'])
            self.logout()

        # Check that deactivated user cannot log in
        if user_data['is_active']:
            self.check_inactive_login(user_data)

        # Check that status of all users are OK
        statuses[user_data['username']] = not user_data['is_active']
        self.check_user_status(statuses)