class ReferralSkipMiddlewareTests(TestCase): def setUp(self): self.middleware = ReferralSkipMiddleware() self.factory = RequestFactory() def test_process_request_resolver404(self): """If resolve raises a Resolver404 error, return None.""" request = self.factory.get('/') with patch('affiliates.links.middleware.resolve') as resolve: resolve.side_effect = Resolver404 eq_(self.middleware.process_request(request), None) resolve.assert_called_with('/') def test_process_request_viewname_mismatch(self): """ If the resolved view name isn't in self.view_names, return None. """ request = self.factory.get('/foo') self.middleware.view_names = ('bears', 'bears', 'bears') with patch('affiliates.links.middleware.resolve') as resolve: resolve.return_value.view_name = 'my.view' eq_(self.middleware.process_request(request), None) resolve.assert_called_with('/foo') def test_process_request_viewname_match(self): """ If the resolved view name is in self.view_names, execute the view function with the given args and kwargs. """ request = self.factory.get('/bar') self.middleware.view_names = ('kakumei', 'dualism') with patch('affiliates.links.middleware.resolve') as resolve: match = Mock(view_name='kakumei', args=[1, 'valvrave'], kwargs={ 'haruto': 'l-elf', 'saki': 4 }) resolve.return_value = match eq_(self.middleware.process_request(request), match.func.return_value) resolve.assert_called_with('/bar') match.func.assert_called_with(request, 1, 'valvrave', haruto='l-elf', saki=4)
class ReferralSkipMiddlewareTests(TestCase): def setUp(self): self.middleware = ReferralSkipMiddleware() self.factory = RequestFactory() def test_process_request_resolver404(self): """If resolve raises a Resolver404 error, return None.""" request = self.factory.get("/") with patch("affiliates.links.middleware.resolve") as resolve: resolve.side_effect = Resolver404 eq_(self.middleware.process_request(request), None) resolve.assert_called_with("/") def test_process_request_viewname_mismatch(self): """ If the resolved view name isn't in self.view_names, return None. """ request = self.factory.get("/foo") self.middleware.view_names = ("bears", "bears", "bears") with patch("affiliates.links.middleware.resolve") as resolve: resolve.return_value.view_name = "my.view" eq_(self.middleware.process_request(request), None) resolve.assert_called_with("/foo") def test_process_request_viewname_match(self): """ If the resolved view name is in self.view_names, execute the view function with the given args and kwargs. """ request = self.factory.get("/bar") self.middleware.view_names = ("kakumei", "dualism") with patch("affiliates.links.middleware.resolve") as resolve: match = Mock(view_name="kakumei", args=[1, "valvrave"], kwargs={"haruto": "l-elf", "saki": 4}) resolve.return_value = match eq_(self.middleware.process_request(request), match.func.return_value) resolve.assert_called_with("/bar") match.func.assert_called_with(request, 1, "valvrave", haruto="l-elf", saki=4)
def setUp(self): self.middleware = ReferralSkipMiddleware() self.factory = RequestFactory()