Test:Funding history test: Difference between revisions

No edit summary
m C moved page Test:Funding Example to Test:Funding history test without leaving a redirect
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Startup/Funding history}}
= System Status Test Suite =
= System Status Test Suite =


This suite verifies that data is attached ONLY to the Main Page and NOT the Subpage.
This suite verifies that SMW data is housed on the '''Subpage''' (Funding history) but points to this '''Main Page'''.


== 1. Data Integrity Check ==
== 1. Data Existence Check ==
Does the data exist at all?
Does the data exist in the wiki database?
* '''Expected:''' 3 rows (Sequoia, Andreessen, Khosla).
* '''Expected:''' 3 rows (Sequoia, Andreessen, Khosla).
* '''Actual:''' {{#ask: [[Is part of startup::{{PAGENAME}}]] | format=count }}
* '''Actual:''' {{#ask: [[Is part of startup::{{PAGENAME}}]] | format=count }}


== 2. Location Verification (Crucial) ==
== 2. Physical Storage Location Verification ==
Where are the subobjects physically stored?
Where are the subobjects physically stored? We want them on the subpage to avoid cluttering the main page metadata.


{| class="wikitable"
{| class="wikitable"
! Check Target !! Expected Count !! Actual Count !! Status
! Check Target !! Expected !! Actual !! Status
|-
|-
| '''Attached to Main Page'''<br>([[{{PAGENAME}}]])
| '''Attached to Main Page'''<br>([[{{PAGENAME}}]])
| 3
| 0
| {{#ask: [[-Has subobject::{{PAGENAME}}]] | format=count }}
| {{#ask: [[-Has subobject::{{PAGENAME}}]] | format=count }}
| {{#ifeq:{{#ask: [[-Has subobject::{{PAGENAME}}]] | format=count }}|3|<span style="color:green; font-weight:bold">PASS</span>|<span style="color:red; font-weight:bold">FAIL</span>}}
| {{#ifeq:{{#ask: [[-Has subobject::{{PAGENAME}}]] | format=count }}|0| <span style="color:green; font-weight:bold">PASS</span> | <span style="color:red; font-weight:bold">FAIL (Data found on Main Page)</span> }}
|-
|-
| '''Attached to Subpage'''<br>([[{{PAGENAME}}/Funding_history]])
| '''Attached to Subpage'''<br>([[{{PAGENAME}}/Funding_history]])
| 0
| 3
| {{#ask: [[-Has subobject::{{PAGENAME}}/Funding_history]] | format=count }}
| {{#ask: [[-Has subobject::{{PAGENAME}}/Funding_history]] | format=count }}
| {{#ifeq:{{#ask: [[-Has subobject::{{PAGENAME}}/Funding_history]] | format=count }}|0|<span style="color:green; font-weight:bold">PASS</span>|<span style="color:red; font-weight:bold">FAIL - DUPLICATES DETECTED</span>}}
| {{#ifeq:{{#ask: [[-Has subobject::{{PAGENAME}}/Funding_history]] | format=count }}|3| <span style="color:green; font-weight:bold">PASS</span> | <span style="color:red; font-weight:bold">FAIL (Data missing from Subpage)</span> }}
|}
|}


== 3. "Is part of startup" Property Test ==
== 3. Property Logic Test ==
Does the property point to the correct page name?
Even though the data lives on the subpage, does the property `Is part of startup` correctly point to the Main Page?
We verify this by counting how many subobjects on the subpage explicitly point to {{PAGENAME}}.
 
* '''Target Page:''' {{PAGENAME}}
* '''Target Page:''' {{PAGENAME}}
* '''Property Value:''' {{#ask: [[Is part of startup::{{PAGENAME}}]] |?Is part of startup= |mainlabel=- |limit=1 }}
* '''Expected Links:''' 3
* '''Match Status:''' {{#ifeq:{{#ask: [[Is part of startup::{{PAGENAME}}]] |?Is part of startup= |mainlabel=- |limit=1 }}|{{PAGENAME}}|<span style="color:green; font-weight:bold">PASS</span>|<span style="color:red; font-weight:bold">FAIL</span>}}
* '''Actual Links:''' {{#ask: [[-Has subobject::{{PAGENAME}}/Funding_history]] [[Is part of startup::{{PAGENAME}}]] | format=count }}
* '''Match Status:''' {{#ifeq:{{#ask: [[-Has subobject::{{PAGENAME}}/Funding_history]] [[Is part of startup::{{PAGENAME}}]] | format=count }}|3| <span style="color:green; font-weight:bold">PASS</span> | <span style="color:red; font-weight:bold">FAIL (Property not pointing to Main Page)</span> }}


== 4. Query Usability Test ==
== 4. Example Queries ==
Can we query this data naturally without "hacks"?
''(The link in the first column should take you to the Main Page, not the subpage).''


=== Simple List ===
<pre>
{{#ask: [[Is part of startup::{{PAGENAME}}]]
|?HasInvestor
|?HasFunding Round
}}
</pre>
{{#ask: [[Is part of startup::{{PAGENAME}}]]
{{#ask: [[Is part of startup::{{PAGENAME}}]]
  |?HasInvestor=Investor
  |?HasInvestor
  |?HasFunding Round=Round
  |?HasFunding Round
  |format=table
  |format=table
}}
}}
=== Aggregation (Count by Round) ===
<pre>
{{#ask: [[Is part of startup::{{PAGENAME}}]]
|?HasFunding Round
|format=count
}}
</pre>
'''Total Rounds recorded:''' {{#ask: [[Is part of startup::{{PAGENAME}}]] | format=count }}


= Debug Actions =
= Debug Actions =
If the tests above fail:
If tests fail:
# '''Purge this page:''' [{{fullurl:{{PAGENAME}}|action=purge}} Click here to Purge Main Page]
# '''Purge Subpage (Required to update SMW table):''' [{{fullurl:{{PAGENAME}}/Funding_history|action=purge}} Click here to Purge Subpage]
# '''Purge subpage:''' [{{fullurl:{{PAGENAME}}/Funding_history|action=purge}} Click here to Purge Subpage]
# '''Purge Main Page:''' [{{fullurl:{{PAGENAME}}|action=purge}} Click here to Purge Main Page]