Skip to content

Commit 2cb31cc

Browse files
committed
Integration tests configured to run against web api 2
1 parent 4be16ef commit 2cb31cc

File tree

3 files changed

+157
-138
lines changed

3 files changed

+157
-138
lines changed

src/Tests/integrationtests/Tests.Integration.Mvc/Controllers/HomeController.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
namespace Tests.Integration.Mvc.Controllers
22
{
3+
using System;
4+
using System.Collections.Generic;
35
using System.Linq;
6+
using System.Net.Http;
47
using System.Web.Mvc;
58
using JQDT.MVC;
69
using TestData.Models;
@@ -34,7 +37,26 @@ public ActionResult GetData()
3437

3538
public ActionResult GetFullData()
3639
{
37-
return this.Json(Data, JsonRequestBehavior.AllowGet);
40+
var dataSourceApp = Configuration.SettingsProvider.Get("dataSourceApp");
41+
if (dataSourceApp == "mvc")
42+
{
43+
return this.Json(Data, JsonRequestBehavior.AllowGet);
44+
}
45+
else if (dataSourceApp == "webapi2")
46+
{
47+
var http = new HttpClient();
48+
var url = Configuration.SettingsProvider.Get("webApi2Url") + "/home";
49+
var result = http.GetAsync(url).Result;
50+
var jsonString = result.Content.ReadAsStringAsync().Result;
51+
var json = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<AllTypesModel>>(jsonString);
52+
Console.WriteLine(jsonString);
53+
54+
return this.Json(json, JsonRequestBehavior.AllowGet);
55+
}
56+
else
57+
{
58+
throw new ArgumentException("Invalid data source app " + dataSourceApp);
59+
}
3860
}
3961
}
4062
}

src/Tests/integrationtests/Tests.Integration.Mvc/Views/Home/AllTypesData.cshtml

Lines changed: 133 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@
136136
<tr>
137137
@if (ViewBag.ShowString == "true")
138138
{
139-
<th>StringProperty</th>
139+
<th>StringProperty</th>
140140
}
141141
<th>Integer</th>
142142
<th>IntegerNullable</th>
@@ -177,13 +177,13 @@
177177

178178
@if (ViewBag.ShowChar == "true")
179179
{
180-
<th>CharProperty</th>
181-
<th>CharNullable</th>
180+
<th>CharProperty</th>
181+
<th>CharNullable</th>
182182
}
183183

184184
@if (ViewBag.ShowString == "true")
185185
{
186-
<th>Nested Model StringProperty</th>
186+
<th>Nested Model StringProperty</th>
187187
}
188188
<th>Nested Model Integer</th>
189189
<th>Nested Model IntegerNullable</th>
@@ -224,8 +224,8 @@
224224

225225
@if (ViewBag.ShowChar == "true")
226226
{
227-
<th>Nested Model CharProperty</th>
228-
<th>Nested Model CharNullable</th>
227+
<th>Nested Model CharProperty</th>
228+
<th>Nested Model CharNullable</th>
229229
}
230230
</tr>
231231
</thead>
@@ -353,7 +353,7 @@
353353
@if (ViewBag.dataSourceApp == "mvc")
354354
{
355355
@:url: "/home/GetData",
356-
} else if(ViewBag.dataSourceApp == "webapi2")
356+
} else if (ViewBag.dataSourceApp == "webapi2")
357357
{
358358
@:url: "@ViewBag.WebApi2Url/home",
359359
}
@@ -474,140 +474,137 @@
474474
{ "data": "NestedModel.BooleanProperty", searchable: false, "defaultContent": "" },
475475
{ "data": "NestedModel.BooleanNullable", searchable: false, "defaultContent": "" },
476476
477-
@if(ViewBag.ShowChar == "true")
477+
@if (ViewBag.ShowChar == "true")
478478
{
479479
@:{ "data": "NestedModel.CharProperty", searchable: true, "defaultContent": "" },
480480
@:{ "data": "NestedModel.CharNullable", searchable: true, "defaultContent": "" },
481481
}
482482
],
483-
"columnDefs": [
484-
{
485-
"render": function (data, type, row) {
486-
if (!row.DateTimeProperty) {
487-
return "";
488-
}
489-
490-
date = new Date(parseInt(row.DateTimeProperty.replace("/Date(", "").replace(")/", ""), 10));
491-
492-
return date.toUTCString();
493-
},
494-
"targets": 23
495-
},
496-
497-
{
498-
"render": function (data, type, row) {
499-
var prop = row.DateTimeNullable;
500-
501-
if (!prop) {
502-
return "";
503-
}
504-
505-
date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
506-
507-
return date.toUTCString();
508-
},
509-
"targets": 24
510-
},
511-
512-
{
513-
"render": function (data, type, row) {
514-
var prop = row.DateTimeOffsetProperty;
515-
516-
if (!prop) {
517-
return "";
518-
}
519-
520-
date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
521-
522-
return date.toUTCString();
523-
},
524-
"targets": 25
525-
},
526-
527-
{
528-
"render": function (data, type, row) {
529-
var prop = row.DateTimeOffsetNullable;
530-
531-
if (!prop) {
532-
return "";
533-
}
534-
535-
date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
536-
537-
return date.toUTCString();
538-
},
539-
"targets": 26
540-
},
541-
542-
{
543-
"render": function (data, type, row) {
544-
if (!row.NestedModel) return '';
545-
546-
var prop = row.NestedModel.DateTimeProperty;
547-
548-
if (!prop) {
549-
return "";
550-
}
551-
552-
date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
553-
554-
return date.toUTCString();
555-
},
556-
"targets": 54
557-
},
558-
559-
{
560-
"render": function (data, type, row) {
561-
if (!row.NestedModel) return '';
562-
563-
var prop = row.NestedModel.DateTimeNullable;
564-
565-
if (!prop) {
566-
return "";
567-
}
568-
569-
date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
570-
571-
return date.toUTCString();
572-
},
573-
"targets": 55
574-
},
575-
576-
{
577-
"render": function (data, type, row) {
578-
if (!row.NestedModel) return '';
579-
580-
var prop = row.NestedModel.DateTimeOffsetProperty;
581-
582-
if (!prop) {
583-
return "";
584-
}
585-
586-
date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
587-
588-
return date.toUTCString();
589-
},
590-
"targets": 56
591-
},
592-
593-
{
594-
"render": function (data, type, row) {
595-
if (!row.NestedModel) return '';
596-
597-
var prop = row.NestedModel.DateTimeOffsetNullable;
598-
599-
if (!prop) {
600-
return "";
601-
}
602-
603-
date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
604-
605-
return date.toUTCString();
606-
},
607-
"targets": 57
608-
},
609-
]
610-
});
483+
@if (ViewBag.dataSourceApp == "mvc")
484+
{
485+
@: "columnDefs": [
486+
@: {
487+
@: "render": function(data, type, row) {
488+
@: if (!row.DateTimeProperty) {
489+
@: return "";
490+
@: }
491+
@:
492+
@: date = new Date(parseInt(row.DateTimeProperty.replace("/Date(", "").replace(")/", ""), 10));
493+
@:
494+
@: return date.toUTCString();
495+
@: },
496+
@: "targets": 23
497+
@: },
498+
@:
499+
@: {
500+
@: "render": function(data, type, row) {
501+
@: var prop = row.DateTimeNullable;
502+
@:
503+
@: if (!prop) {
504+
@: return "";
505+
@: }
506+
@:
507+
@: date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
508+
@:
509+
@: return date.toUTCString();
510+
@: },
511+
@: "targets": 24
512+
@: },
513+
@:
514+
@: {
515+
@: "render": function(data, type, row) {
516+
@: var prop = row.DateTimeOffsetProperty;
517+
@:
518+
@: if (!prop) {
519+
@: return "";
520+
@: }
521+
@:
522+
@: date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
523+
@:
524+
@: return date.toUTCString();
525+
@: },
526+
@: "targets": 25
527+
@: },
528+
@:
529+
@: {
530+
@: "render": function(data, type, row) {
531+
@: var prop = row.DateTimeOffsetNullable;
532+
@:
533+
@: if (!prop) {
534+
@: return "";
535+
@: }
536+
@:
537+
@: date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
538+
@:
539+
@: return date.toUTCString();
540+
@: },
541+
@: "targets": 26
542+
@: },
543+
@:
544+
@: {
545+
@: "render": function(data, type, row) {
546+
@: if (!row.NestedModel) return '';
547+
@:
548+
@: var prop = row.NestedModel.DateTimeProperty;
549+
@:
550+
@: if (!prop) {
551+
@: return "";
552+
@: }
553+
@:
554+
@: date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
555+
@:
556+
@: return date.toUTCString();
557+
@: },
558+
@: "targets": 54
559+
@: },
560+
@:
561+
@: {
562+
@: "render": function(data, type, row) {
563+
@: if (!row.NestedModel) return '';
564+
@:
565+
@: var prop = row.NestedModel.DateTimeNullable;
566+
@:
567+
@: if (!prop) {
568+
@: return "";
569+
@: }
570+
@:
571+
@: date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
572+
@:
573+
@: return date.toUTCString();
574+
@: },
575+
@: "targets": 55
576+
@: },
577+
@:
578+
@: {
579+
@: "render": function(data, type, row) {
580+
@: if (!row.NestedModel) return '';
581+
@:
582+
@: var prop = row.NestedModel.DateTimeOffsetProperty;
583+
@:
584+
@: if (!prop) {
585+
@: return "";
586+
@: }
587+
@:
588+
@: date = new Date(parseInt(prop.replace("/Date(", "").replace(")/", ""), 10));
589+
@:
590+
@: return date.toUTCString();
591+
@: },
592+
@: "targets": 56
593+
@: },
594+
@:
595+
@: {
596+
@: "render": function(data, type, row) {
597+
@: if (!row.NestedModel) return '';
598+
@:
599+
@: var prop = if;
600+
@:
601+
@: return date.toUTCString();
602+
@: },
603+
@: "targets": 57
604+
@: },
605+
@: ]
606+
}
607+
});
611608
612609
String.prototype.replaceAll = function (search, replacement) {
613610
var target = this;

src/Tests/integrationtests/Tests.Integration.WebApi2/Controllers/HomeController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public IHttpActionResult Post()
1616
return this.Ok(Data);
1717
}
1818

19-
public IHttpActionResult GetFullData()
19+
public IHttpActionResult Get()
2020
{
2121
return this.Ok(Data.ToList());
2222
}

0 commit comments

Comments
 (0)