import { InProductTestCase } from '@atlaskit/in-product-testing';
import { BlockCardPageObject, blockSmartLinkRendersTestCase } from '@atlaskit/smart-card/in-product';
import { EditorPageObject } from '../../../../page-objects/Editor';
import { EditorSmartLinkPageObject } from '../../../../page-objects/EditorSmartLink';
export var editBlockSmartLinkTitleTestCase = function editBlockSmartLinkTitleTestCase(_ref) {
  var ui = _ref.ui,
    url = _ref.url;
  return new InProductTestCase({
    title: 'editing a Block Smart Link renders as Blue Link (title)',
    id: 'block-smart-link-edit-title',
    assertions: function assertions(cy) {
      var editor = new EditorPageObject(cy);
      var editorWithSmartLinks = new EditorSmartLinkPageObject(cy, editor);
      var blockCard = new BlockCardPageObject(cy);
      editorWithSmartLinks.insertSmartLinkByTyping(url);
      editorWithSmartLinks.switchAfterInsert('block');
      blockSmartLinkRendersTestCase({
        url: url
      }).assertions(cy);
      editorWithSmartLinks.changeLinkLabel('Avocorne is watching you 🥑', 'block');
      blockCard.assertHrefRendered(url);
      blockCard.expectCardNotExists();
      if (ui !== null && ui !== void 0 && ui.publishButton) {
        var renderer = editor.publish(ui);
        renderer.expectContentReady();
        blockCard.assertHrefRendered(url);
        blockCard.expectCardNotExists();
      }
    }
  });
};
export var editBlockSmartLinkUrlTestCase = function editBlockSmartLinkUrlTestCase(_ref2) {
  var ui = _ref2.ui,
    url = _ref2.url;
  return new InProductTestCase({
    title: 'editing a Block Smart Link renders as Blue Link (URL)',
    id: 'block-smart-link-edit',
    assertions: function assertions(cy) {
      var editor = new EditorPageObject(cy);
      var editorWithSmartLinks = new EditorSmartLinkPageObject(cy, editor);
      var blockCard = new BlockCardPageObject(cy);
      editorWithSmartLinks.insertSmartLinkByTyping(url);
      editorWithSmartLinks.switchAfterInsert('block');
      blockSmartLinkRendersTestCase({
        url: url
      }).assertions(cy);
      var newUrl = 'https://avo.corne.com';
      editorWithSmartLinks.changeLinkUrl(newUrl, 'block');
      blockCard.expectCardNotExists();
      blockCard.assertHrefRendered(newUrl);
      if (ui !== null && ui !== void 0 && ui.publishButton) {
        var renderer = editor.publish(ui);
        renderer.expectContentReady();
        blockCard.assertHrefRendered(newUrl);
        blockCard.expectCardNotExists();
      }
    }
  });
};