Пример #1
0
        public async Task LimpingTestGet()
        {
            using (var scope = _fixture.Server.Host.Services.CreateScope())
            {
                var databaseFixture = scope.ServiceProvider.GetRequiredService <DatabaseFixture>();
                var context         = databaseFixture.Context;
                await AddDefaultDataForLimping(context);

                var service     = scope.ServiceProvider.GetRequiredService <ILimpingTestsService>();
                var limpingTest = new LimpingTest
                {
                    AppUserId    = "1",
                    Date         = DateTime.Now,
                    TestAnalysis = new TestAnalysis(),
                    TestData     = _data,
                };
                context.LimpingTests.Add(limpingTest);
                await context.SaveChangesAsync();

                var foundTest = await service.GetById(limpingTest.Id);

                // The user was found testing
                Assert.Equal(limpingTest.Id, foundTest.Id);

                // Null if user doesn't exist
                var nullTest = await service.GetById(Guid.NewGuid());

                Assert.Null(nullTest);

                // Returns user if it was created
                var testsOfUser = await service.GetUserTests("1");

                Assert.Single(testsOfUser);
            }
        }
Пример #2
0
        public async Task LimpingTestDelete()
        {
            using (var scope = _fixture.Server.Host.Services.CreateScope())
            {
                // Setup
                var databaseFixture = scope.ServiceProvider.GetRequiredService <DatabaseFixture>();
                var context         = databaseFixture.Context;
                await AddDefaultDataForLimping(context);

                var service     = scope.ServiceProvider.GetRequiredService <ILimpingTestsService>();
                var limpingTest = new LimpingTest
                {
                    AppUserId    = "1",
                    Date         = DateTime.Now,
                    TestAnalysis = new TestAnalysis(),
                    TestData     = _data,
                };
                context.LimpingTests.Add(limpingTest);
                await context.SaveChangesAsync();


                // Test deletion works
                await service.DeleteTest(limpingTest.Id);

                Assert.Equal(_data, limpingTest.TestData);
                var nullTest = await context.LimpingTests.FindAsync(limpingTest.Id);

                // Assure it is deleted from db
                Assert.Null(nullTest);
                // You cannot delete it twice
                await Assert.ThrowsAnyAsync <Exception>(() => service.DeleteTest(limpingTest.Id));
            }
        }
Пример #3
0
        public async Task LimpingTestEdit()
        {
            using (var scope = _fixture.Server.Host.Services.CreateScope())
            {
                // Setup
                var databaseFixture = scope.ServiceProvider.GetRequiredService <DatabaseFixture>();
                var context         = databaseFixture.Context;
                await AddDefaultDataForLimping(context);

                var service     = scope.ServiceProvider.GetRequiredService <ILimpingTestsService>();
                var limpingTest = new LimpingTest
                {
                    AppUserId    = "1",
                    Date         = DateTime.Now,
                    TestAnalysis = new TestAnalysis(),
                    TestData     = _data,
                };
                context.LimpingTests.Add(limpingTest);
                await context.SaveChangesAsync();

                var newTestData = "{numbers: [1,2]}";
                var edited      = await service.EditTest(limpingTest.Id, newTestData, GetTestAnalysis());

                // Test editing works
                Assert.Equal(newTestData, edited.TestData);
                // You cannot edit what doesn't exist
                await Assert.ThrowsAnyAsync <Exception>(() =>
                                                        service.EditTest(Guid.NewGuid(), "{numbers: [1, 2, 3]}", GetTestAnalysis()));
            }
        }
Пример #4
0
 public LimpingTestDto(LimpingTest test)
 {
     Id        = test.Id;
     Date      = test.Date;
     TestData  = test.TestData;
     AppUserId = test.AppUserId;
 }
Пример #5
0
        public async Task <LimpingTest> InsertTest(string userId, string testData, TestAnalysis testAnalysis)
        {
            var limpingTest = new LimpingTest
            {
                AppUserId    = userId,
                TestData     = testData,
                Date         = DateTime.Now,
                TestAnalysis = testAnalysis
            };

            _context.LimpingTests.Add(limpingTest);
            await _context.SaveChangesAsync();

            return(limpingTest);
        }
Пример #6
0
        private async Task <IServiceScope> CreateScopeWithLimpingTestAsync()
        {
            var scope = await CreateScopeWithUserAsync();

            var limpingTestsService = scope.ServiceProvider.GetRequiredService <ILimpingTestsService>();

            _defaultLimpingTest = await limpingTestsService.InsertTest(_defaultUser.Id, "{'a': 'b'}", new TestAnalysis
            {
                Description     = "Good result",
                EndValue        = 2,
                LimpingSeverity = LimpingSeverityEnum.Low,
            });

            return(scope);
        }
Пример #7
0
        public GetLimpingTestResponse(LimpingTest test, Link selfLink = null) : base(new LimpingTestDto(test))
        {
            if (selfLink == null)
            {
                this.AddLinks(
                    LinkGenerator.LimpingTests.GetSingle(test.Id.ToString(), "self")
                    );
            }
            else
            {
                this.AddLinks(selfLink);
            }

            this.AddLinks(
                LinkGenerator.LimpingTests.GetSingle(test.Id.ToString()),
                LinkGenerator.LimpingTests.Edit(test.Id.ToString()),
                LinkGenerator.LimpingTests.Delete(test.Id.ToString()),
                LinkGenerator.LimpingTests.GetAll(),
                LinkGenerator.Analysis.GetSingle(test.TestAnalysis?.Id.ToString() ?? test.TestAnalysisId.ToString()),
                LinkGenerator.Users.GetSingle(test.AppUserId)
                );
        }