package _VisualDVM.Passes.All;
import Common.Visual.UI;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Server.TestingServerPass;
import _VisualDVM.Repository.Server.ServerCode;

import java.io.File;
public class ConvertCorrectnessTests extends TestingServerPass<File> {
    @Override
    public String getIconPath() {
        return "/icons/DownloadAll.png";
    }
    @Override
    protected boolean canStart(Object... args) throws Exception {
        if (!Global.mainModule.getAccount().isAdmin()) {
            Log.Writeln_("Вы не являетесь администратором");
            return false;
        }
        return UI.Warning("Загрузить полный пакет DVM тестов на корректность и производительность.") &&
                SendRequest(ServerCode.RefreshDVMTests, "", null);
    }
    @Override
    protected boolean needsAnimation() {
        return true;
    }
    @Override
    protected void performPreparation() throws Exception {
        Global.mainModule.getPass(PassCode.CloseCurrentProject);
        Global.mainModule.set(Current.Root, null);
        Global.mainModule.set(Current.Version, null);
    }
    @Override
    protected void showPreparation() throws Exception {
        Global.mainModule.getUI().getTestingMenuBar().ShowAutoCheckTesting();
    }
    @Override
    protected void performFinish() throws Exception {
        super.performFinish();
        Global.mainModule.getPass(PassCode.SynchronizeTests).Do();
    }
}

