diff --git a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateCalcExpr.ts b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateCalcExpr.ts
new file mode 100644
index 00000000000..54b3f985910
--- /dev/null
+++ b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateCalcExpr.ts
@@ -0,0 +1,12 @@
+///
+
+//// const foo = "/*x*/f/*y*/oobar is " + (42 + 6) + " years old"
+
+goTo.select("x", "y");
+edit.applyRefactor({
+ refactorName: "Convert string concatenation or template literal",
+ actionName: "Convert to template literal",
+ actionDescription: "Convert to template literal",
+ newContent:
+`const foo = \`foobar is \${ 42 + 6 } years old\``,
+});
diff --git a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateMultiExpr.ts b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateMultiExpr.ts
new file mode 100644
index 00000000000..6aa095d67d3
--- /dev/null
+++ b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateMultiExpr.ts
@@ -0,0 +1,16 @@
+///
+
+//// const age = 22
+//// const name = "Eddy"
+//// const foo = /*x*/n/*y*/ame + " is " + age + " years old"
+
+goTo.select("x", "y");
+edit.applyRefactor({
+ refactorName: "Convert string concatenation or template literal",
+ actionName: "Convert to template literal",
+ actionDescription: "Convert to template literal",
+ newContent:
+`const age = 22
+const name = "Eddy"
+const foo = \`\${ name } is \${ age } years old\``,
+});
diff --git a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateOneExpr.ts b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateOneExpr.ts
new file mode 100644
index 00000000000..8899f99c864
--- /dev/null
+++ b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateOneExpr.ts
@@ -0,0 +1,14 @@
+///
+
+//// const age = 42
+//// const foo = "/*x*/f/*y*/oobar is " + age + " years old"
+
+goTo.select("x", "y");
+edit.applyRefactor({
+ refactorName: "Convert string concatenation or template literal",
+ actionName: "Convert to template literal",
+ actionDescription: "Convert to template literal",
+ newContent:
+`const age = 42
+const foo = \`foobar is \${ age } years old\``,
+});
diff --git a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateSimple.ts b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateSimple.ts
new file mode 100644
index 00000000000..35b3e17519d
--- /dev/null
+++ b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateSimple.ts
@@ -0,0 +1,12 @@
+///
+
+//// const foo = "/*x*/f/*y*/oobar rocks"
+
+goTo.select("x", "y");
+edit.applyRefactor({
+ refactorName: "Convert string concatenation or template literal",
+ actionName: "Convert to template literal",
+ actionDescription: "Convert to template literal",
+ newContent:
+`const foo = \`foobar rocks\``,
+});