Example #1
0
def test_relief_attempts_form_saves_data_to_db(db, graphql_client):
    oi = OnboardingInfoFactory()
    graphql_client.request.user = oi.user
    result = _exec_relief_attempts_form(graphql_client,
                                        {"hasCalled311": "True"})
    oi.refresh_from_db()
    assert result["errors"] == []
    assert oi.has_called_311 is True
Example #2
0
class TestOptInToSajeComms(GraphQLTestingPal):
    QUERY = """
    mutation NorentOptInToSajeCommsMutation($input: NorentOptInToSajeCommsInput!) {
        output: norentOptInToSajeComms(input: $input) {
            errors { field, messages },
            session {
                onboardingInfo { canReceiveSajeComms },
                onboardingScaffolding { canReceiveSajeComms }
            },
        }
    }
    """

    DEFAULT_INPUT = {
        "optIn": False,
    }

    @pytest.fixture
    def logged_in(self):
        self.oi = OnboardingInfoFactory()
        self.request.user = self.oi.user

    def test_it_works_when_logged_out(self):
        res = self.execute()
        assert res["errors"] == []
        assert res["session"] == {
            "onboardingInfo": None,
            "onboardingScaffolding": {
                "canReceiveSajeComms": False
            },
        }

        res = self.execute(input={"optIn": True})
        assert res["errors"] == []
        assert res["session"] == {
            "onboardingInfo": None,
            "onboardingScaffolding": {
                "canReceiveSajeComms": True
            },
        }

    def test_it_works_when_logged_in(self, logged_in):
        res = self.execute()
        assert res["errors"] == []
        assert res["session"] == {
            "onboardingInfo": {
                "canReceiveSajeComms": False
            },
            "onboardingScaffolding": None,
        }

        res = self.execute(input={"optIn": True})
        assert res["errors"] == []
        assert res["session"] == {
            "onboardingInfo": {
                "canReceiveSajeComms": True
            },
            "onboardingScaffolding": None,
        }

        self.oi.refresh_from_db()
        assert self.oi.can_receive_saje_comms is True