Jump to content

Module:WikiProject assessment progression/testcases

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Sasuke Sarutobi (talk | contribs) at 16:03, 4 December 2020 (Actual and expected wrong way around). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
-- Unit tests for [[Module:WikiProject assessment progression]]. Click talk page to run tests.
local myModule = require('Module:WikiProject assessment progression/sandbox')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()

function suite:assertTypeEquals(expectedType, functionName, message)
	local outputType = type(functionName)
	self:assertEquals(expectedType, outputType, message)
end

-- Confirm test function itself is working
function suite:test_assertTypeEquals_returns_correctly()
	self:assertTypeEquals('number', 10, 'assertTypeEquals failed to compare value to its type')
end

-- Confirm output is a number formatted as a string
function suite:test_module_outputs_number_as_string()
	local asString = self.frame:preprocess('{{#invoke:WikiProject assessment progression|main|project=spaceflight}}')
	local asNumber = tonumber(asString)
	self:assertTypeEquals('string', asString, 'Module output is not formatted as a string')
	self:assertTypeEquals('number', asNumber, 'Module output cannot be converted to a number')
end

-- Confirm that module returns an error if no results are found for project name given
function suite:test_module_returns_error_if_invalid_project_specified()
	local invalidProject = self.frame:preprocess('{{#invoke:WikiProject assessment progression|main|project=SPAceflight}}')
	self:assertEquals('Error: project not found for project name "SPAceflight"', invalidProject)
end

return suite