Example #1
0
        public async Task TestA()
        {
            var mock = new MockDataV3();

            mock.Reset();

            var serviceProvider = new ServiceCollection()
                                  .AddTransient <IFlashcardProgressRepo, FlashcardProgressRepo>()
                                  .AddDbContext <AppDbContext>(options => options.UseSqlServer(MockDatabaseFactory.DbMockConnectionString))
                                  .AddMediatR(typeof(MediatREntryPoint).Assembly)
                                  .BuildServiceProvider();

            var mediator = serviceProvider.GetService <IMediator>();

            var getRandomExpiredFlashcardQ = new GetRandomExpiredFlashcardQ("9a4e1d79-d64e-4ec4-85e5-53bdef5043f4");

            var expectedReponses = new List <Guid>()
            {
                Guid.Parse("9884d783-427d-45d4-a1df-facaf81729f5"), Guid.Parse("2c083f4e-fdce-4c67-8ca7-e3c5d1b40d4e"), Guid.Parse("021fc2e4-e2cf-4120-a1af-df918ecad194")
            };
            var expectedReponsesNotContains = new List <Guid>()
            {
                Guid.Parse("594b1485-e842-482f-9b09-a649cb72bdb1"), Guid.Parse("91b5ae74-6197-449f-a4ef-c81068179822"), Guid.Parse("a6d821a0-75fd-4152-af8f-03fa17796430")
            };

            for (int i = 0; i < 100; i++)
            {
                var response = await mediator.Send(getRandomExpiredFlashcardQ);

                Assert.Contains(response.FlashcardProgressId, expectedReponses);
                Assert.DoesNotContain(response.FlashcardProgressId, expectedReponsesNotContains);
            }
        }
        public async Task TestC()
        {
            var mock = new MockDataV3();

            mock.Reset();

            var serviceProvider = new ServiceCollection()
                                  .AddTransient <IFlashcardProgressRepo, FlashcardProgressRepo>()
                                  .AddTransient <IStatsUserRepo, StatsUserRepo>()
                                  .AddDbContext <AppDbContext>(options => options.UseSqlServer(MockDatabaseFactory.DbMockConnectionString))
                                  .AddMediatR(typeof(MediatREntryPoint).Assembly)
                                  .BuildServiceProvider();

            var mediator = serviceProvider.GetService <IMediator>();

            var updateFlashcardProgressC = new UpdateFlashcardProgressC(Guid.Parse("9884d783-427d-45d4-a1df-facaf81729f5"), FlashcardProgress.Know, "9a4e1d79-d64e-4ec4-85e5-53bdef5043f4");

            var actionResponse = await mediator.Send(updateFlashcardProgressC);

            using (var db = MockDatabaseFactory.Build())
            {
                var flashcardProgressModel = await db.FlashcardProgresses.FirstOrDefaultAsync(e => e.Id == Guid.Parse("9884d783-427d-45d4-a1df-facaf81729f5"));

                Assert.Equal(1, flashcardProgressModel.CorrectInRow);
                Assert.Equal(DateTime.Now.Date.AddDays(1), flashcardProgressModel.PracticeDate);
            }
        }
Example #3
0
        public async Task TestB_FlashcardOfIdNotExists()
        {
            var mocker = new MockDataV3();

            mocker.Reset();

            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjlhNGUxZDc5LWQ2NGUtNGVjNC04NWU1LTUzYmRlZjUwNDNmNCIsIm5iZiI6MTYxOTc2OTYzOCwiZXhwIjoxNjE5ODU2MDM4LCJpc3MiOiJhIn0.tohmUFgbnXqaMoehSX9i-p_F6vpdoziu9Jz5XgM1N1k");

            var insertDTO = new FlashcardUpdateModel()
            {
                Id      = Guid.Parse("00003ba0-1396-428f-adb7-d7ab972459eb"),
                Foreign = "foreign new",
                Native  = "native new"
            };

            var response = await _client.PutAsync("api/flashcard/update", new StringContent(JsonConvert.SerializeObject(insertDTO), Encoding.UTF8, "application/json"));

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);

            using (var db = MockDatabaseFactory.Build())
            {
                Assert.Equal("Foreign 1", (await db.Flashcards.FirstOrDefaultAsync(e => e.Id == Guid.Parse("6aa83ba0-1396-428f-adb7-d7ab972459eb"))).Foreign);
                Assert.Equal("Native 1", (await db.Flashcards.FirstOrDefaultAsync(e => e.Id == Guid.Parse("6aa83ba0-1396-428f-adb7-d7ab972459eb"))).Native);
            }
        }
Example #4
0
        public async Task TestB()
        {
            var mocker = new MockDataV3();

            mocker.Reset();

            var flashcardProgressRepo = BuildUnitForTests();

            var output = await flashcardProgressRepo.GetAllUserFlashcards("fcabcb46-12dc-4013-bc92-6f00aae903b4");

            Assert.Empty(output);
        }
Example #5
0
        public async Task TestA()
        {
            var mocker = new MockDataV3();

            mocker.Reset();

            var flashcardProgressRepo = BuildUnitForTests();

            var output = await flashcardProgressRepo.GetAllUserFlashcards("9a4e1d79-d64e-4ec4-85e5-53bdef5043f4");

            Assert.Equal(6, output.Count());
        }
        public async Task TestC()
        {
            var mocker = new MockDataV3();

            mocker.Reset();

            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjlhNGUxZDc5LWQ2NGUtNGVjNC04NWU1LTUzYmRlZjUwNDNmNCIsIm5iZiI6MTYxOTc2OTYzOCwiZXhwIjoxNjE5ODU2MDM4LCJpc3MiOiJhIn0.tohmUFgbnXqaMoehSX9i-p_F6vpdoziu9Jz5XgM1N1k");


            var response = await _client.GetAsync("api/practice/updateflashcardprogress/594b1485-e842-482f-9b09-a649cb72bdb1/1");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            await Task.Delay(1000 * 5);

            using (var db = MockDatabaseFactory.Build())
            {
                var flashcardProgressModel = await db.FlashcardProgresses.FirstOrDefaultAsync(e => e.Id == Guid.Parse("594b1485-e842-482f-9b09-a649cb72bdb1"));

                Assert.Equal(3, flashcardProgressModel.CorrectInRow);
                Assert.Equal(DateTime.Now.Date.AddDays(3), flashcardProgressModel.PracticeDate);
            }
        }
Example #7
0
        public async Task TestB_UserNotOwnCollection()
        {
            var mocker = new MockDataV3();

            mocker.Reset();

            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjlhNGUxZDc5LWQ2NGUtNGVjNC04NWU1LTUzYmRlZjUwNDNmNCIsIm5iZiI6MTYxOTc2OTYzOCwiZXhwIjoxNjE5ODU2MDM4LCJpc3MiOiJhIn0.tohmUFgbnXqaMoehSX9i-p_F6vpdoziu9Jz5XgM1N1k");

            var inputDTO = new CollectionUpdateModel()
            {
                Id   = Guid.Parse("82c3a0d1-a73c-41e2-a8f3-ef525e5f0ffa"),
                Name = "name"
            };

            var response = await _client.PutAsync("api/collection/update", new StringContent(JsonConvert.SerializeObject(inputDTO), Encoding.UTF8, "application/json"));

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);

            using (var db = MockDatabaseFactory.Build())
            {
                Assert.Equal("User 2 Name 2", db.Collections.FirstOrDefault(e => e.Id == Guid.Parse("82c3a0d1-a73c-41e2-a8f3-ef525e5f0ffa")).Name);
            }
        }