/*
 * Copyright (C) 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.lemenzo.files;

import android.content.Intent;
import android.net.Uri;
import android.provider.DocumentsContract;

import androidx.test.core.app.ActivityScenario;
import androidx.test.filters.LargeTest;

import com.lemenzo.files.inspector.InspectorActivity;

import org.junit.Test;

@LargeTest
public class InspectorUiTest extends ActivityTestJunit4<InspectorActivity> {

    private static final String TEST_DOC_NAME = "test.txt";


    @Override
    public void launchActivity() {
        if (!features.isInspectorEnabled()) {
            return;
        }
        Uri uri = DocumentsContract.buildDocumentUri(InspectorProvider.AUTHORITY, TEST_DOC_NAME);
        final Intent intent = InspectorActivity.createIntent(context, uri, userId);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
        mActivityScenario = ActivityScenario.launch(intent);
    }

    @Test
    public void testDisplayFileName() throws Exception {
        if (!features.isInspectorEnabled()) {
            return;
        }
        bots.inspector.assertTitle("test.txt");
    }

    @Test
    public void testFolderDetails() throws Exception {
        if (!features.isInspectorEnabled()) {
            return;
        }
        mActivityScenario.onActivity(
                activity -> {
                    bots.inspector.assertRowEquals(
                            activity.getString(R.string.sort_dimension_file_type),
                            "Folder",
                            activity);
                    bots.inspector.assertRowEquals(
                            activity.getString(R.string.directory_items),
                            InspectorProvider.NUMBER_OF_ITEMS,
                            activity);
                });
    }
}
