def test_update_member_action_failure_sqlite3_error(self, mocksql):
        """ Test update member action method."""
        mocksql.execute.side_effect = sqlite3.Error

        assert GPM(mocksql).update_member_action('', '', '*****@*****.**', '',
                                                 'y', 'punjab', '', '', '',
                                                 '') == False
    def test_login_gpm_failure_sql_error(self, inputs):
        """ Test login gpm method."""
        inputs.side_effect = ['id', 'pswd']
        with mock.patch('gram_panchayat_member.sqlite3.connect') as mocksql:
            mocksql.execute.side_effect = sqlite3.Error

            assert GPM(mocksql).login_gpm() == False
    def test_show_members_failure_no_data(self, mocksql):
        """ Test show members method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchall.return_value = []

        assert GPM(mocksql).show_members() == False
    def test_add_member_action_failure_sqlite3_error(self, mocksql):
        """ Test add member action method."""
        mocksql.execute.side_effect = sqlite3.Error

        assert GPM(mocksql).add_member_action('', '', '', '', '5',
                                              'west bengal', '', '',
                                              '') == False
    def test_show_members_success(self, mocksql):
        """ Test show members method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchall.return_value = member_data

        assert GPM(mocksql).show_members() == True
    def test_gpm_work_allotment_failure_sqlite3_error(self, mocksql, inputs):
        """ Test gpm work allotment method."""
        inputs.side_effect = ['email', 'project']
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.side_effect = sqlite3.Error

        assert GPM(mocksql).gpm_work_allotment() == False
    def test_delete_member_failure_no_data(self, mocksql, inputs):
        """ Test delete member method."""
        inputs.side_effect = ['*****@*****.**', 'y']
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.return_value = None

        assert GPM(mocksql).delete_member() == False
    def test_update_member_failure_no_data(self, arg1, mocksql, inputs):
        """ Test update member method."""
        inputs.return_value = ''
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.return_value = None

        assert GPM(mocksql).update_member() == False
    def test_update_member_success(self, arg1, mocksql, inputs):
        """ Test update member method."""
        inputs.side_effect = ['', '', '', '', '', '', '', '', '', '']
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.return_value = single_member_data

        assert GPM(mocksql).update_member() == True
    def test_login_gpm_success(self, arg1, input):
        """ Test login gpm method."""
        with mock.patch('gram_panchayat_member.sqlite3.connect') as mocksql:
            sqlite_execute_mock = mock.Mock()
            mocksql.execute.return_value = sqlite_execute_mock
            sqlite_execute_mock.fetchone.return_value = single_gpm_data

            assert GPM(mocksql).login_gpm() == True
    def test_gpm_job_card_failure_no_data(self, mocksql, inputs):
        """ Test gpm job card method."""
        inputs.return_value = '*****@*****.**'
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.side_effect = [None]

        assert GPM(mocksql).gpm_job_card() == False
    def test_complaints_filed_failure_without_data(self, mocksql):
        """ Test complaints filed method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.cursor.return_value = sqlite_execute_mock
        sqlite_execute_mock.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchall.return_value = []

        assert GPM(mocksql).complaints_filed() == False
    def test_login_gpm_set_password_success(self, arg1, mocksql, inputs):
        """ Test login gpm method."""
        inputs.side_effect = ['*****@*****.**', 'qwe', 'qwe', '3']
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.return_value = single_gpm_data_without_password

        assert GPM(mocksql).login_gpm() == True
    def test_request_list_failure_without_data(self, mocksql):
        """ Test request list method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.cursor.return_value = sqlite_execute_mock
        sqlite_execute_mock.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchall.return_value = []

        assert GPM(mocksql).request_list() == False
    def test_complaints_filed_success(self, mocksql):
        """ Test complaints filed method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.cursor.return_value = sqlite_execute_mock
        sqlite_execute_mock.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchall.return_value = complaints_filed

        assert GPM(mocksql).complaints_filed() == True
    def test_add_member_action_failure_invalid_state(self, mocksql):
        """ Test add member action method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.return_value = [0]

        assert GPM(mocksql).add_member_action('', '', '', '', '5', 'bengal',
                                              '', '', '') == False
    def test_request_list_success(self, mocksql):
        """ Test request list method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.cursor.return_value = sqlite_execute_mock
        sqlite_execute_mock.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchall.return_value = request_list

        assert GPM(mocksql).request_list() == True
    def test_work_allotment_action_success_update_data(self, mocksql):
        """ Test gpm work allotment action method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.side_effect = [None, single_member_data]

        assert GPM(mocksql).work_allotment_action(single_project_data,
                                                  single_member_data) == True
    def test_gpm_work_allotment_failure_no_project_data(self, mocksql, inputs):
        """ Test gpm work allotment method."""
        inputs.side_effect = ['email', 'project', 'u']
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.side_effect = [single_member_data, None]

        assert GPM(mocksql).gpm_work_allotment() == False
    def test_login_gpm_failure_email_not_found(self, arg1, arg2):
        """ Test login gpm method."""
        with mock.patch('gram_panchayat_member.sqlite3.connect') as mocksql:
            sqlite_execute_mock = mock.Mock()
            mocksql.execute.return_value = sqlite_execute_mock
            sqlite_execute_mock.fetchone.return_value = None

            assert GPM(mocksql).login_gpm() == False
    def test_gpm_job_card_success(self, mocksql, inputs):
        """ Test gpm job card method."""
        inputs.return_value = '*****@*****.**'
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.side_effect = [single_member_data]

        assert GPM(mocksql).gpm_job_card() == True
    def test_work_allotment_action_failure_member_exist_in_project(
            self, mocksql):
        """ Test gpm work allotment action method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.return_value = [None]

        assert GPM(mocksql).work_allotment_action(single_project_data,
                                                  single_member_data) == False
    def test_update_member_action_success(self, mocksql):
        """ Test update member method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.side_effect = [[0], member_data]

        assert GPM(mocksql).update_member_action('', '', '*****@*****.**', '',
                                                 'F', 'punjab', '', '', '',
                                                 '') == True
    def test_update_member_action_failure_invalid_email(self, mocksql):
        """ Test update member action method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.side_effect = [[0], member_data]

        assert GPM(mocksql).update_member_action('', '', 'invalid email', '',
                                                 'y', 'punjab', '', '', '',
                                                 '') == False
    def test_add_member_action_success(self, mocksql):
        """ Test add member action method."""
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.return_value = [0]

        assert GPM(mocksql).add_member_action('', '', '', '', 'M',
                                              'west bengal', '', '',
                                              '') == True
    def test_login_gpm_set_password_empty(self, arg1, inputs):
        """ Test login gpm method."""
        inputs.side_effect = ['*****@*****.**', '', '']
        with mock.patch('gram_panchayat_member.sqlite3.connect') as mocksql:
            sqlite_execute_mock = mock.Mock()
            mocksql.execute.return_value = sqlite_execute_mock
            sqlite_execute_mock.fetchone.return_value = single_gpm_data_without_password

            assert GPM(mocksql).login_gpm() == False
    def test_gpm_work_allotment_success(self, arg1, mocksql, inputs):
        """ Test gpm work allotment method."""
        inputs.side_effect = ['email', 'project', 'y']
        sqlite_execute_mock = mock.Mock()
        mocksql.execute.return_value = sqlite_execute_mock
        sqlite_execute_mock.fetchone.side_effect = [
            single_member_data, single_project_data
        ]

        assert GPM(mocksql).gpm_work_allotment() == True
    def test_login_gpm_failure_with_multiple_wrong_attempts(self, input):
        """ Test login gpm method."""
        with mock.patch('gram_panchayat_member.sqlite3.connect') as mocksql:
            sqlite_execute_mock = mock.Mock()
            mocksql.execute.return_value = sqlite_execute_mock
            sqlite_execute_mock.fetchone.side_effect = [
                single_gpm_data, None, single_gpm_data, None, single_gpm_data,
                None
            ]

            assert GPM(mocksql).login_gpm() == False
    def test_gpm_menu_choice_6(self, inputs):
        """ Test gpm main menu method."""
        inputs.side_effect = ['6']

        assert GPM(object).gpm_menu('*****@*****.**') == True
    def test_complaints_filed_failure_sqlite3_error(self, mocksql):
        """ Test complaints filed method."""
        mocksql.cursor.side_effect = sqlite3.Error

        assert GPM(mocksql).complaints_filed() == False