Skip to content

Conversation

koddsson
Copy link
Member

Remove mocking of calls to localhost. I had to skip a bunch of tests bringing the number of pending tests up to 26. I'd like to get that number at least down to 12 (which is what it is on master) before merging.

@koddsson
Copy link
Member Author

Something really weird is happening when I re-enabled the isnic test, the hospital tests started failing again 😭

@koddsson
Copy link
Member Author

I think I want to next:

  • Split the big file with all the mock data into individual fixture files for each endpoint suite
  • Manually mock the the skipped tests data and see if that fixes those.

diff --git a/endpoints/currency/tests/integration_test.js b/endpoints/currency/tests/integration_test.js
index 59d5a03..bbb5e3b 100644
--- a/endpoints/currency/tests/integration_test.js
+++ b/endpoints/currency/tests/integration_test.js
@@ -1,4 +1,6 @@
 /* eslint-disable import/extensions */
+const fs = require('fs')
+const nock = require('nock')
 const request = require('request')
 const helpers = require('../../../lib/test_helpers.js')

@@ -6,7 +8,14 @@ describe('currency', () => {
   // The only thing that changes is the form attribute, so why not just re-use the object
   const fieldsToCheckFor = ['shortName', 'longName', 'value', 'askValue', 'bidValue', 'changeCur', 'changePer']

-  describe.skip('searching using provider "m5"', () => {
+  describe('searching using provider "m5"', () => {
+    before(() => {
+      nock('http://www.m5.is')
+        .get('/')
+        .query({ gluggi: 'gjaldmidlar' })
+        .reply(200, fs.readFileSync(`${__dirname}/test.fixture`))
+    })
+
     it('should return an array of objects containing correct fields', (done) => {
       const params = helpers.testRequestParams('/currency/m5')
       const resultHandler = helpers.testRequestHandlerForFields(done, fieldsToCheckFor)
diff --git a/endpoints/currency/tests/test.fixture b/endpoints/currency/tests/test.fixture
new file mode 100644
index 0000000..04a9fef
--- /dev/null
+++ b/endpoints/currency/tests/test.fixture
@@ -0,0 +1,286 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="iso-8859-1">
+		<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,600,700' rel='stylesheet' type='text/css'>
+		<link rel="stylesheet" type="text/css" href="static/css/bootstrap/css/bootstrap.min.css">
+		<link rel="stylesheet" type="text/css" href="static/css/style.css">
+		<link rel="shortcut icon" href="http://www.m5.is/favicon.ico" />
+		<script type="text/javascript" src="/js/numberformat.js"></script>
+		<script type="text/javascript" src="static/js/jquery.min.js"></script>
+		<script type="text/javascript" src="static/css/bootstrap/js/bootstrap.min.js"></script>
+
+		<script src="js/highstock/js/highstock.js"></script>
+		<script src="js/highstock/js/modules/exporting.js"></script>
+		<script src="js/highstock/js/is.js"></script>
+
+		<meta name="msapplication-tap-highlight" content="no" />
+
+
+
+		<title>Gjaldmi�lar - M5</title>
+		<meta name='viewport' content='width=device-width, initial-scale=1.0' />
+
+	</head>
+
+
+
+	<body>
+
+	<div class="gengisbar">
+		<div class="container wide" style="position: relative;">
+
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=1" title="Bandar�skur dalur&apis-is#13;105,92">
+						<span style="font-weight: 600;">USD:</span>
+						&nbsp;106
+					</a>
+				</span>
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=4" title="D�nsk kr�na&apis-is#13;16,507">
+						<span style="font-weight: 600;">DKK:</span>
+						&nbsp;16,5
+					</a>
+				</span>
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=20" title="Evra&apis-is#13;122,85">
+						<span style="font-weight: 600;">EUR:</span>
+						&nbsp;123
+					</a>
+				</span>
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=17" title="Japanskt jen&apis-is#13;0,92965">
+						<span style="font-weight: 600;">JPY:</span>
+						&nbsp;0,930
+					</a>
+				</span>
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=3" title="Kanad�skur dalur&apis-is#13;83,125">
+						<span style="font-weight: 600;">CAD:</span>
+						&nbsp;83,1
+					</a>
+				</span>
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=5" title="Norsk kr�na&apis-is#13;12,992">
+						<span style="font-weight: 600;">NOK:</span>
+						&nbsp;13,0
+					</a>
+				</span>
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=2" title="Sterlingspund&apis-is#13;139,16">
+						<span style="font-weight: 600;">GBP:</span>
+						&nbsp;139
+					</a>
+				</span>
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=10" title="Svissneskur franki&apis-is#13;106,01">
+						<span style="font-weight: 600;">CHF:</span>
+						&nbsp;106
+					</a>
+				</span>
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=6" title="S�nsk kr�na&apis-is#13;12,605">
+						<span style="font-weight: 600;">SEK:</span>
+						&nbsp;12,6
+					</a>
+				</span>
+							<span style="z-index: 2; position: relative;">
+					<a href="?gluggi=gjaldmidill&id=22" title="Gengisv�sitala&apis-is#13;166,96">
+						<span style="font-weight: 600;">TWI:</span>
+						&nbsp;167
+					</a>
+				</span>
+						<img src="/static/css/gjaldmidlartip.png" style="position: absolute; top: 10px; right: 80px; z-index: 1;">
+		</div>
+
+	</div>
+	<div class="head-wide">
+		<div class="menubar">
+			<div class="container wide" style="text-align: right;">
+				<a href="/" class="pull-left"><img src="/img/m5_white.png" style="margin-top: 2px;"></a>
+									<a href="?gluggi=forsida" class="menu-item ">Fors��a</a>
+									<a href="?gluggi=gjaldmidlar" class="menu-item selected">Gjaldmi�lar</a>
+									<a href="?gluggi=hagtolur" class="menu-item ">Hagt�lur</a>
+									<a href="?gluggi=frettir" class="menu-item ">Fr�ttir</a>
+									<a href="?gluggi=frodleikur" class="menu-item ">Fr��leikur</a>
+							</div>
+		</div>
+	</div>
+
+	<div class="container wide">
+		<div class="skuggi" style="margin-top: 40px;">
+			<div class="haus">
+				&nbsp;
+			</div>
+			<div class="efni">
+
+				<div style="margin-bottom: 20px;">
+
+					<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
+					<!-- M5 top -->
+					<ins class="adsbygoogle"
+					     style="display:block"
+					     data-ad-client="ca-pub-8389363414957813"
+					     data-ad-slot="1700888286"
+					     data-ad-format="auto"></ins>
+
+						<script>
+							(adsbygoogle = window.adsbygoogle || []).push({});
+						</script>
+
+				</div>
+
+
+
+<h1>Gjaldmi�lar</h1>
+
+
+<table class="table table-striped">
+	<thead>
+		<tr>
+			<th style="width: 10%; font-weight: 600;">Merki</th>
+			<th style="width: 60%; font-weight: 600;">Nafn</th>
+			<th style="width: 10%; font-weight: 600; text-align: right;">Gengi</th>
+			<th style="width: 10%; font-weight: 600; text-align: right;"></th>
+			<th style="width: 40%; font-weight: 600; text-align: center;" colspan="2">Breyting</th>
+		</tr>
+	</thead>
+	<tbody>
+					<tr style="background: #EEEEEE;">
+				<td><a href="?gluggi=gjaldmidill&id=1">USD</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=1">Bandar�skur dalur</a></td>
+				<td style="text-align: right">105,92</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_raud.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:red; font-weight: 600;">0,45</td>
+				<td style="text-align: right; color:red;">(0,42%)</td>
+						</tr>
+					<tr style="background: white;">
+				<td><a href="?gluggi=gjaldmidill&id=4">DKK</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=4">D�nsk kr�na</a></td>
+				<td style="text-align: right">16,507</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_raud.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:red; font-weight: 600;">0,071</td>
+				<td style="text-align: right; color:red;">(0,43%)</td>
+						</tr>
+					<tr style="background: #EEEEEE;">
+				<td><a href="?gluggi=gjaldmidill&id=20">EUR</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=20">Evra</a></td>
+				<td style="text-align: right">122,85</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_raud.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:red; font-weight: 600;">0,55</td>
+				<td style="text-align: right; color:red;">(0,45%)</td>
+						</tr>
+					<tr style="background: white;">
+				<td><a href="?gluggi=gjaldmidill&id=17">JPY</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=17">Japanskt jen</a></td>
+				<td style="text-align: right">0,92965</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_raud.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:red; font-weight: 600;">0,00075</td>
+				<td style="text-align: right; color:red;">(0,08%)</td>
+						</tr>
+					<tr style="background: #EEEEEE;">
+				<td><a href="?gluggi=gjaldmidill&id=3">CAD</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=3">Kanad�skur dalur</a></td>
+				<td style="text-align: right">83,125</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_raud.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:red; font-weight: 600;">0,16</td>
+				<td style="text-align: right; color:red;">(0,19%)</td>
+						</tr>
+					<tr style="background: white;">
+				<td><a href="?gluggi=gjaldmidill&id=5">NOK</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=5">Norsk kr�na</a></td>
+				<td style="text-align: right">12,992</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_raud.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:red; font-weight: 600;">0,0080</td>
+				<td style="text-align: right; color:red;">(0,06%)</td>
+						</tr>
+					<tr style="background: #EEEEEE;">
+				<td><a href="?gluggi=gjaldmidill&id=2">GBP</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=2">Sterlingspund</a></td>
+				<td style="text-align: right">139,16</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_graen.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:green; font-weight: 600;">0,100</td>
+				<td style="text-align: right; color:green;">(0,07%)</td>
+						</tr>
+					<tr style="background: white;">
+				<td><a href="?gluggi=gjaldmidill&id=10">CHF</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=10">Svissneskur franki</a></td>
+				<td style="text-align: right">106,01</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_raud.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:red; font-weight: 600;">0,21</td>
+				<td style="text-align: right; color:red;">(0,20%)</td>
+						</tr>
+					<tr style="background: #EEEEEE;">
+				<td><a href="?gluggi=gjaldmidill&id=6">SEK</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=6">S�nsk kr�na</a></td>
+				<td style="text-align: right">12,605</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_graen.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:green; font-weight: 600;">0,0015</td>
+				<td style="text-align: right; color:green;">(0,01%)</td>
+						</tr>
+					<tr style="background: white;">
+				<td><a href="?gluggi=gjaldmidill&id=22">TWI</a></td>
+				<td><a href="?gluggi=gjaldmidill&id=22">Gengisv�sitala</a></td>
+				<td style="text-align: right">166,96</td>
+
+							<td style="text-align: right"><img src="img/pila_litil_raud.gif" align="absmiddle" style="min-width: 12px;"/></td>
+				<td style="text-align: right; color:red; font-weight: 600;">0,53</td>
+				<td style="text-align: right; color:red;">(0,32%)</td>
+						</tr>
+			</tbody>
+</table>
+

+
+				<div class="row footer">
+					<div class="span4">
+						�2006 - 2017 Vefmi�lun ehf. <br/>
+						<a href="mailto:[email protected]" >[email protected]</a> - +354 551-9060
+					</div>
+					<div class="span8" style="color: black; text-align: right;">
+													<a href="?gluggi=forsida" class="footer-menu-item ">Fors��a</a>
+													<a href="?gluggi=gjaldmidlar" class="footer-menu-item selected">Gjaldmi�lar</a>
+													<a href="?gluggi=hagtolur" class="footer-menu-item ">Hagt�lur</a>
+													<a href="?gluggi=frettir" class="footer-menu-item ">Fr�ttir</a>
+													<a href="?gluggi=frodleikur" class="footer-menu-item ">Fr��leikur</a>
+											</div>
+				</div>
+			</div>
+		</div>
+	</div>
+
+	<div class="container">
+		<div class="disclaimer">
+			Ofangreindar uppl�singar fela ekki � s�r fj�rfestingarr��gj�f e�a hvatningu til vi�skipta. Allar fj�rfestingar fela � s�r �h�ttu og gefur s�guleg �v�xtun ekki endilega v�sbendingu um framt��ar�v�xtun. M5 ber ekki �byrg� � hugsanlegum villum, t�fum � uppl�singum e�a �kv�r�unum sem bygg�ar eru � uppl�singunum.
+		</div>
+	</div>
+
+	<script type="text/javascript">
+
+		$('.random').each(function(){
+			var $divs = $(this).children();
+			$divs.hide().eq(Math.floor(Math.random() * $divs.length)).show();
+		});
+
+	</script>
+
+	<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+var pageTracker = _gat._getTracker("UA-3118207-1");
+pageTracker._initData();
+pageTracker._setDomainName("www.m5.is");
+pageTracker._trackPageview();
+</script>

+	</body>
+</html>
\ No newline at end of file
diff --git a/test.js b/test.js
index 53230aa..a4daef4 100644
--- a/test.js
+++ b/test.js
@@ -17,7 +17,9 @@ before(() => {
 after(() => {
   if (process.env.RECORD_MOCK_DATA) {
     const nockCallObjects = nock.recorder.play()
-    const noLocalhost = nockCallObjects.filter(o => !o.scope.includes('localhost'))
+    const noLocalhost = nockCallObjects.filter((o) => {
+      return !o.scope.includes('localhost') && !o.scope.includes('m5.is')
+    })
     fs.writeFileSync(mockDataFilename, JSON.stringify(noLocalhost, null, 2))
   }
 })
@koddsson
Copy link
Member Author

koddsson commented Nov 6, 2017

Endpoints that need to be unskipped:

  • /horses
  • /isboltinn
  • /sarschool

@koddsson koddsson changed the title [WIP] Dont mock localhost Dont mock localhost Nov 7, 2017
@koddsson
Copy link
Member Author

koddsson commented Nov 7, 2017

Done!

cc/ @MiniGod @kristjanmik @benediktvaldez

Copy link
Member

@MiniGod MiniGod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@benediktvaldez
Copy link
Member

Copy link
Member

@benediktvaldez benediktvaldez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At a quick glance this LGTM.

@koddsson
Copy link
Member Author

koddsson commented Nov 7, 2017

image
👀

@koddsson koddsson merged commit bd1810d into apis-is:master Nov 7, 2017
@koddsson koddsson deleted the dont-mock-localhost branch November 7, 2017 11:19
@koddsson koddsson mentioned this pull request Nov 8, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants