예제 #1
0
    public void MissingLanguage()
    {
      var cmd = new Cmd.CopyItemToLanguage();
      InitCommand(cmd);

      var result = cmd.Run();
      Assert.AreEqual(CommandStatus.Failure, result.Status);
    }
예제 #2
0
    public void ValidLanguageNotInDB()
    {
      var cmd = new Cmd.CopyItemToLanguage();
      InitCommand(cmd);

      cmd.LanguageName = "zh";
      var result = cmd.Run();
      Assert.AreEqual(CommandStatus.Failure, result.Status);
    }
예제 #3
0
    public void InvalidLanguage()
    {
      var cmd = new Cmd.CopyItemToLanguage();
      InitCommand(cmd);

      cmd.LanguageName = "this is not a language";
      var result = cmd.Run();
      Assert.AreEqual(CommandStatus.Failure, result.Status);
    }
예제 #4
0
    public void CopyToGermanWithoutOverride()
    {
      var englishTitle = "Tea and crumpets";
      var englishText = "A crumpet is flattened round bread that is cooked on a griddle or in a skillet.";
      var germanTitle = "Larger and sauerkraut";
      var germanText = "Sauerkraut is traditionally made in stoneware crocks and in fairly large batches.";

      var cmd = new Cmd.CopyItemToLanguage();
      InitCommand(cmd);

      var defaultItem = _testRoot.Add("CopyToGerman", _template);
      using (new EditContext(defaultItem))
      {
        defaultItem["title"] = englishTitle;
        defaultItem["text"] = englishText;
      }

      var germanItem = defaultItem.Database.GetItem(defaultItem.ID, _germanLanguage);
      using (new EditContext(germanItem))
      {
        germanItem["title"] = germanTitle;
        germanItem["text"] = germanText;
      }

      _context.CurrentItem = defaultItem;

      cmd.LanguageName = "de";
      var result = cmd.Run();

      Assert.AreEqual(CommandStatus.Success, result.Status);
      germanItem.Reload();

      Assert.AreEqual(germanTitle, germanItem["title"]);
      Assert.AreEqual(germanText, germanItem["text"]);
    }
예제 #5
0
    public void NonContextCopyToGerman()
    {
      var englishTitle = "Tea and crumpets";
      var germanTitle = "Larger and sauerkraut";

      var cmd = new Cmd.CopyItemToLanguage();
      InitCommand(cmd);

      _context.CurrentItem = _context.CurrentDatabase.GetRootItem();

      var defaultItem = _testRoot.Add("CopyToGerman", _template);
      using (new EditContext(defaultItem))
      {
        defaultItem["title"] = englishTitle;
      }

      var germanItem = defaultItem.Database.GetItem(defaultItem.ID, _germanLanguage);
      using (new EditContext(germanItem))
      {
        germanItem["title"] = germanTitle;
      }

      cmd.LanguageName = "de";
      cmd.Overwrite = true;
      cmd.Path = defaultItem.ID.ToString();
      var result = cmd.Run();

      Assert.AreEqual(CommandStatus.Success, result.Status);
      germanItem.Reload();

      Assert.AreEqual(englishTitle, germanItem["title"]);
    }
예제 #6
0
    public void CopyToGermanSingleFieldInvalidFieldName()
    {
      var englishTitle = "Tea and crumpets";
      var germanTitle = "Larger and sauerkraut";

      var cmd = new Cmd.CopyItemToLanguage();
      InitCommand(cmd);

      var defaultItem = _testRoot.Add("CopyToGerman", _template);
      using (new EditContext(defaultItem))
      {
        defaultItem["title"] = englishTitle;
      }

      var germanItem = defaultItem.Database.GetItem(defaultItem.ID, _germanLanguage);
      using (new EditContext(germanItem))
      {
        germanItem["title"] = germanTitle;
      }

      _context.CurrentItem = defaultItem;

      cmd.LanguageName = "de";
      cmd.FieldName = "some field that doesnt exist";
      var result = cmd.Run();

      Assert.AreEqual(CommandStatus.Failure, result.Status);
      germanItem.Reload();

      Assert.AreEqual(germanTitle, germanItem["title"]);
    }
예제 #7
0
    public void CopyToGermanEmptyTarget()
    {
      var englishTitle = "Tea and crumpets";
      var englishText = "A crumpet is flattened round bread that is cooked on a griddle or in a skillet.";

      var cmd = new Cmd.CopyItemToLanguage();
      InitCommand(cmd);

      var defaultItem = _testRoot.Add("CopyToGerman", _template);
      using (new EditContext(defaultItem))
      {
        defaultItem["title"] = englishTitle;
        defaultItem["text"] = englishText;
      }

      var germanItem = defaultItem.Database.GetItem(defaultItem.ID, _germanLanguage);

      _context.CurrentItem = defaultItem;

      cmd.LanguageName = "de";
      var result = cmd.Run();

      Assert.AreEqual(CommandStatus.Success, result.Status);
      germanItem.Reload();

      Assert.AreEqual(englishTitle, germanItem["title"]);
      Assert.AreEqual(englishText, germanItem["text"]);
    }