Skip to content

Commit

Permalink
[FIX] Demo account & UI fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ilyalehchylin committed Apr 28, 2023
2 parents 2c1ebf1 + 46a052a commit 0c0858a
Show file tree
Hide file tree
Showing 26 changed files with 359 additions and 52 deletions.
30 changes: 20 additions & 10 deletions source/EduCATS.UnitTests/Data/DataAccessTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.Threading.Tasks;
using EduCATS.Constants;
using EduCATS.Data;
using EduCATS.Demo;
using EduCATS.Helpers.Forms;
using MonkeyCache.FileStore;
using Moq;
Expand Down Expand Up @@ -65,20 +66,29 @@ public void CheckConnectionTest()
var dataAccess = new DataAccess<object>(_message, null, "3", _mockedConnected);
var actual = dataAccess.CheckConnectionEstablished();
Assert.AreEqual(true, actual);
AppDemo.Instance.IsDemoAccount = true;
var demoActual = dataAccess.CheckConnectionEstablished();
Assert.AreEqual(true, actual);
var dataAccessOffline = new DataAccess<object>(_message, null, "4", _mockedOffline);
var demoOfflineActual = dataAccessOffline.CheckConnectionEstablished();
Assert.AreEqual(true, demoOfflineActual);
AppDemo.Instance.IsDemoAccount = false;
var offlineActual = dataAccessOffline.CheckConnectionEstablished();
Assert.AreEqual(false, offlineActual);
}

[Test]
public async Task GetSingleNoConnectionTest()
{
var dataAccess = new DataAccess<object>(_message, null, "4", _mockedOffline);
var dataAccess = new DataAccess<object>(_message, null, "5", _mockedOffline);
var actual = await dataAccess.GetSingle();
Assert.IsNotNull(actual);
}

[Test]
public async Task GetListNoConnectionTest()
{
var dataAccess = new DataAccess<object>(_message, null, "5", _mockedOffline);
var dataAccess = new DataAccess<object>(_message, null, "6", _mockedOffline);
var actual = await dataAccess.GetList();
Assert.IsNotNull(actual);
}
Expand All @@ -97,15 +107,15 @@ public void ResetDataTest()
[Test]
public async Task GetDataSingleObjectTest()
{
var dataAccess = new DataAccess<object>(_message, null, "6", _mockedConnected);
var dataAccess = new DataAccess<object>(_message, null, "7", _mockedConnected);
var data = await DataAccess.GetDataObject(dataAccess, false);
Assert.NotNull(data);
}

[Test]
public async Task GetDataListObjectTest()
{
var dataAccess = new DataAccess<object>(_message, null, "7", _mockedConnected);
var dataAccess = new DataAccess<object>(_message, null, "8", _mockedConnected);
var data = await DataAccess.GetDataObject(dataAccess, true);
Assert.NotNull(data);
}
Expand Down Expand Up @@ -154,7 +164,7 @@ public void SetErrorTest()
[Test]
public void GetListAccessValidJsonTest()
{
var dataAccess = new DataAccess<object>(_message, null, "8", _mockedConnected);
var dataAccess = new DataAccess<object>(_message, null, "9", _mockedConnected);
var kvp = new KeyValuePair<string, HttpStatusCode>("[ { \"data\": \"test\" } ]", HttpStatusCode.OK);
var actual = dataAccess.GetListAccess(kvp);
Assert.NotNull(actual);
Expand All @@ -163,7 +173,7 @@ public void GetListAccessValidJsonTest()
[Test]
public void GetListAccessNonValidJsonTest()
{
var dataAccess = new DataAccess<object>(_message, null, "9", _mockedConnected);
var dataAccess = new DataAccess<object>(_message, null, "10", _mockedConnected);
var kvp = new KeyValuePair<string, HttpStatusCode>("response", HttpStatusCode.OK);
var actual = dataAccess.GetListAccess(kvp);
Assert.AreEqual(null, actual);
Expand All @@ -172,7 +182,7 @@ public void GetListAccessNonValidJsonTest()
[Test]
public void GetListAccessSuccessJsonTest()
{
var dataAccess = new DataAccess<object>(_message, null, "10", _mockedConnected);
var dataAccess = new DataAccess<object>(_message, null, "11", _mockedConnected);
var kvp = new KeyValuePair<string, HttpStatusCode>(_nonJsonSuccessResponse, HttpStatusCode.OK);
var actual = dataAccess.GetListAccess(kvp);
Assert.AreEqual(string.Empty, actual);
Expand All @@ -181,7 +191,7 @@ public void GetListAccessSuccessJsonTest()
[Test]
public void GetSingleAccessValidJsonTest()
{
var dataAccess = new DataAccess<object>(_message, null, "11", _mockedConnected);
var dataAccess = new DataAccess<object>(_message, null, "12", _mockedConnected);
var kvp = new KeyValuePair<string, HttpStatusCode>("{ \"data\": \"test\" }", HttpStatusCode.OK);
var actual = dataAccess.GetAccess(kvp);
Assert.NotNull(actual);
Expand All @@ -190,7 +200,7 @@ public void GetSingleAccessValidJsonTest()
[Test]
public void GetSingleAccessNonValidJsonTest()
{
var dataAccess = new DataAccess<object>(_message, null, "12", _mockedConnected);
var dataAccess = new DataAccess<object>(_message, null, "13", _mockedConnected);
var kvp = new KeyValuePair<string, HttpStatusCode>("response", HttpStatusCode.OK);
var actual = dataAccess.GetAccess(kvp);
Assert.AreEqual(null, actual);
Expand All @@ -199,7 +209,7 @@ public void GetSingleAccessNonValidJsonTest()
[Test]
public void GetSingleAccessSuccessJsonTest()
{
var dataAccess = new DataAccess<object>(_message, null, "13", _mockedConnected);
var dataAccess = new DataAccess<object>(_message, null, "14", _mockedConnected);
var kvp = new KeyValuePair<string, HttpStatusCode>(_nonJsonSuccessResponse, HttpStatusCode.OK);
var actual = dataAccess.GetAccess(kvp);
Assert.NotNull(actual);
Expand Down
5 changes: 5 additions & 0 deletions source/EduCATS/Data/DataAccessHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using System.Threading.Tasks;
using EduCATS.Data.Caching;
using EduCATS.Data.Interfaces;
using EduCATS.Demo;
using EduCATS.Helpers.Forms;
using EduCATS.Helpers.Json;

Expand Down Expand Up @@ -282,6 +283,10 @@ static void setCallback(Task<object> callback)
/// <returns><c>True</c> if established.</returns>
public virtual bool CheckConnectionEstablished()
{
if (AppDemo.Instance.IsDemoAccount) {
return true;
}

return _services.Device.CheckConnectivity();
}
}
Expand Down
8 changes: 7 additions & 1 deletion source/EduCATS/Demo/AppDemoType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ public enum AppDemoType
None,
AvailableTests,
ConceptTree,
ConceptTreeTest,
Files,
FilesTest,
FilesDetailsTest,
InfoLecturers,
Labs,
LabsResults,
Expand All @@ -17,12 +20,15 @@ public enum AppDemoType
ProfileInfo,
ProfileInfoCalendar,
ProfileInfoSubjects,
ProfileInfoSubjectsTest,
Recommendations,
RootConcepts,
Schedule,
Statistics,
Test,
TestAnswerAndGetNext,
TestNextQuestion,
TestUserAnswers
TestUserAnswers,
TestUserAnswersExtended
}
}
84 changes: 84 additions & 0 deletions source/EduCATS/Demo/DemoResources/demoConceptTreeTest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{
"Concept": {
"Container": null,
"FilePath": null,
"HasData": false,
"Id": 1,
"IsGroup": true,
"Name": "Демонстрационный ЭУМК",
"Next": null,
"ParentId": 0,
"Prev": null,
"Published": true,
"ReadOnly": false,
"ShortName": "Демо ЭУМК",
"SubjectName": "Предмет #1",
"children": [
{
"Container": "Container",
"FilePath": "\/UploadedFiles\/Id\/Id.pdf",
"HasData": true,
"Id": 2,
"IsGroup": false,
"Name": "Документ #1",
"Next": 3,
"ParentId": 1,
"Prev": null,
"Published": true,
"ReadOnly": true,
"ShortName": "Документ #1",
"SubjectName": "Предмет #1",
"children": []
},
{
"Container": "Container",
"FilePath": "\/UploadedFiles\/Id\/Id.pdf",
"HasData": true,
"Id": 3,
"IsGroup": false,
"Name": "Документ #2",
"Next": 4,
"ParentId": 1,
"Prev": 2,
"Published": true,
"ReadOnly": true,
"ShortName": "Документ #2",
"SubjectName": "Предмет #1",
"children": []
},
{
"Container": null,
"FilePath": null,
"HasData": false,
"Id": 4,
"IsGroup": true,
"Name": "Демонстрационный раздел",
"Next": null,
"ParentId": 1,
"Prev": 3,
"Published": false,
"ReadOnly": true,
"ShortName": "Демонстрационный раздел",
"SubjectName": "Предмет #1",
"children": [
{
"Container": "Container",
"FilePath": "\/UploadedFiles\/Id\/Id.pdf",
"HasData": true,
"Id": 5,
"IsGroup": false,
"Name": "Документ #3",
"Next": null,
"ParentId": 4,
"Prev": null,
"Published": true,
"ReadOnly": true,
"ShortName": "Документ #3",
"SubjectName": "Предмет #1",
"children": []
}
]
}
]
}
}
10 changes: 10 additions & 0 deletions source/EduCATS/Demo/DemoResources/demoFilesDetailsTest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[
{
"IdFile": 1,
"Size": 1000000
},
{
"IdFile": 2,
"Size": 500000
}
]
18 changes: 18 additions & 0 deletions source/EduCATS/Demo/DemoResources/demoFilesTest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"Attachment": [
{
"Id": 1,
"Name": "Демонстрационный файл #1",
"FileName": "Демонстрационный файл #1.docx",
"PathName": "Path",
"Size": 1000000
},
{
"Id": 2,
"Name": "Демонстрационный файл #2",
"FileName": "Демонстрационный файл #2.docx",
"PathName": "Path",
"Size": 500000
}
]
}
18 changes: 18 additions & 0 deletions source/EduCATS/Demo/DemoResources/demoProfileInfoSubjectsTest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"Subjects": [
{
"Name": "Предмет #1",
"Id": 1,
"ShortName": "П1",
"Color": "#BF0606",
"Completing": 0
},
{
"Name": "Предмет #2",
"Id": 2,
"ShortName": "П2",
"Color": "#06BF09",
"Completing": 0
}
]
}
28 changes: 28 additions & 0 deletions source/EduCATS/Demo/DemoResources/demoSchedule.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"Schedule": [
{
"Audience": "1",
"Building": "1",
"Color": "#BF0606",
"Start": "15:00",
"End": "16:00",
"Name": "Лабораторная работа",
"Teacher": {
"FullName": "Фамилия Имя Отчество"
},
"Type": 2
},
{
"Audience": "2",
"Building": "2",
"Color": "#06BF09",
"Start": "10:00",
"End": "11:00",
"Name": "Лекция",
"Teacher": {
"FullName": "Фамилия Имя"
},
"Type": 0
}
]
}
64 changes: 64 additions & 0 deletions source/EduCATS/Demo/DemoResources/demoTestUserAnswersExtended.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"ContentEncoding": null,
"ContentType": null,
"Data": [
{
"Key": "TestName",
"Value": "Демонстрационный тест"
},
{
"Key": "Percent",
"Value": 33
},
{
"Key": "Mark",
"Value": 3
},
{
"Key": "Answers",
"Value": [
{
"QuestionTitle": "Демонстрационный вопрос #1",
"QuestionDescription": null,
"Points": 0,
"AnswerString": "4",
"Number": 1
},
{
"QuestionTitle": "Демонстрационный вопрос #2",
"QuestionDescription": null,
"Points": 1,
"AnswerString": "2",
"Number": 2
}
]
},
{
"Key": "Thems",
"Value": []
},
{
"Key": "NeuralData",
"Value": null
},
{
"Key": "FoNN",
"Value": false
},
{
"Key": "StartTime",
"Value": "\/Date(1682608647420)\/"
},
{
"Key": "EndTime",
"Value": "\/Date(1682608703857)\/"
},
{
"Key": "Comment",
"Value": null
}
],
"JsonRequestBehavior": 0,
"MaxJsonLength": 2147483647,
"RecursionLimit": null
}
Loading

0 comments on commit 0c0858a

Please sign in to comment.