def test_changeSubscriptionView_should_call_getStorageKey(self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()
        storage.storeValue = Mock()

        storage.changeSubscriptionView({"view_mode": "my_view_mode"})

        storage.getStorageKey.assert_called_with({"user_feed": "my_view_mode", "view_mode": "my_view_mode"}, "viewmode")
    def test_changeSubscriptionView_should_call_storeValue(self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()
        storage.getStorageKey.return_value = "my_key"
        storage.storeValue = Mock()

        storage.changeSubscriptionView({"view_mode": "my_view_mode"})

        storage.storeValue.assert_called_with("my_key", "my_view_mode")
    def test_changeSubscriptionView_should_exit_cleanly_if_view_mode_is_not_in_params(self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()
        storage.storeValue = Mock()

        storage.changeSubscriptionView({})

        assert storage.getStorageKey.call_count == 0
        assert storage.storeValue.call_count == 0
    def test_changeSubscriptionView_should_call_storeValue(self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()
        storage.getStorageKey.return_value = "my_key"
        storage.storeValue = Mock()

        storage.changeSubscriptionView({"view_mode": "my_view_mode"})

        storage.storeValue.assert_called_with("my_key", "my_view_mode")
    def test_changeSubscriptionView_should_fill_params_collection_before_exiting(self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()
        storage.getStorageKey.return_value = "my_key"
        storage.storeValue = Mock()

        params = {"view_mode": "my_view_mode"}
        storage.changeSubscriptionView(params)

        assert params.has_key("user_feed")
    def test_changeSubscriptionView_should_exit_cleanly_if_view_mode_is_not_in_params(
            self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()
        storage.storeValue = Mock()

        storage.changeSubscriptionView({})

        assert (storage.getStorageKey.call_count == 0)
        assert (storage.storeValue.call_count == 0)
    def test_changeSubscriptionView_should_fill_params_collection_before_exiting(
            self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()
        storage.getStorageKey.return_value = "my_key"
        storage.storeValue = Mock()

        params = {"view_mode": "my_view_mode"}
        storage.changeSubscriptionView(params)

        assert (params.has_key("user_feed"))
    def test_changeSubscriptionView_should_call_getStorageKey(self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()
        storage.storeValue = Mock()

        storage.changeSubscriptionView({"view_mode": "my_view_mode"})

        storage.getStorageKey.assert_called_with(
            {
                "user_feed": "my_view_mode",
                "view_mode": "my_view_mode"
            }, "viewmode")