local F=require(script.Parent.Quest)return function()it("\083\104\111\117\108\100 \097\108\108\111\119 \099\114\101\097\116\105\110\103 \113\117\101\115\116\115",function()local t=F.new("\113\117\101\115\116-\110\097\109\101","\081\117\101\115\116 \078\097\109\101");(expect(t)).to.be.ok();(expect(t.Id)).to.equal("\113\117\101\115\116-\110\097\109\101");(expect(t.Name)).to.equal("\081\117\101\115\116 \078\097\109\101")end)it("\115\104\111\117\108\100 \110\111\116 \097\108\108\111\119 \105\100 \100\117\112\108\105\099\097\116\101\115",function()(expect(function()F.new("\113\117\101\115\116-\110\097\109\101","\081\117\101\115\116 \078\097\109\101 \050")end)).to.throw()end)it("\115\104\111\117\108\100 \110\111\116 \097\108\108\111\119 \105\110\118\097\108\105\100 \105\100\115",function()(expect(function()F.new("\099\111\111\108 \113\117\101\115\116","\081\117\101\115\116 \078\097\109\101 \051")end)).to.throw();(expect(function()F.new("\099\037\111\111\108","\081\117\101\115\116 \078\097\109\101 \051")end)).to.throw();(expect(function()F.new("\099\111\111\108\081\117\101\115\116","\081\117\101\115\116 \078\097\109\101 \051")end)).to.throw()end)end
local Quest = require(script.Parent.Quest)

return function()
	it(
		"Should allow creating quests",
		function()
			local testQuest = Quest.new("quest-name", "Quest Name")
			expect(testQuest).to.be.ok()
			expect(testQuest.Id).to.equal("quest-name")
			expect(testQuest.Name).to.equal("Quest Name")
		end
	)

	it(
		"should not allow id duplicates",
		function()
			expect(
				function()
					Quest.new("quest-name", "Quest Name 2")
				end
			).to.throw()
		end
	)

	it(
		"should not allow invalid ids",
		function()
			expect(
				function()
					Quest.new("cool quest", "Quest Name 3")
				end
			).to.throw()

			expect(
				function()
					Quest.new("c%ool", "Quest Name 3")
				end
			).to.throw()

			expect(
				function()
					Quest.new("coolQuest", "Quest Name 3")
				end
			).to.throw()
		end
	)
end
