コード例 #1
0
        public void Get_CallsBothGetByIdMethods()
        {
            //Arrange

            Exam exampleExam = new Exam
            {
                Id = 1,
                //The Byte array has been assigned a random value simply to avoid an ArgumentNullException
                Bytes = new Byte[256],
                Md5   = ""
            };

            string filename      = "AnExampleFile";
            Skelet exampleSkelet = new Skelet
            {
                Id       = 1,
                FileName = filename,

                Exam   = exampleExam,
                ExamId = exampleExam.Id
            };

            _skeletDbRepositoryMock.Setup(s => s.GetById(It.IsAny <int>())).Returns(exampleSkelet);
            _examDbRepositoryMock.Setup(e => e.GetById(It.IsAny <int>())).Returns(exampleExam);

            //Act
            var response = _controller.Get() as SkeletResponse;

            //Assert
            Assert.That(response, Is.Not.Null);
            _skeletDbRepositoryMock.Verify(s => s.GetById(It.IsAny <int>()), Times.Once);
            _examDbRepositoryMock.Verify(e => e.GetById(It.IsAny <int>()), Times.Once);
        }
コード例 #2
0
        public async Task When_downloading_after_an_import()
        {
            var controller = new DownloadController(_fixture.MemoryStreamManager)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext()
                }
            };
            var database = await _fixture.CreateDatabaseAsync();

            using (var context = await _fixture.CreateEmptyBackOfficeContextAsync(database))
            {
                context.RoadNetworkInfo.Add(new RoadNetworkInfo
                {
                    Id = 0,
                    CompletedImport = true
                });
                await context.SaveChangesAsync();
            }

            using (var context = await _fixture.CreateBackOfficeContextAsync(database))
            {
                var result = await controller.Get(context);

                var fileCallbackResult = Assert.IsType <FileCallbackResult>(result);
                Assert.Equal("wegenregister.zip", fileCallbackResult.FileDownloadName);
            }
        }
コード例 #3
0
        public async Task When_downloading_during_an_import()
        {
            var controller = new DownloadController(_fixture.MemoryStreamManager)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext()
                }
            };
            var database = await _fixture.CreateDatabaseAsync();

            using (var context = await _fixture.CreateEmptyBackOfficeContextAsync(database))
            {
                context.RoadNetworkInfo.Add(new RoadNetworkInfo
                {
                    Id = 0,
                    CompletedImport = false
                });
                await context.SaveChangesAsync();
            }

            using (var context = await _fixture.CreateBackOfficeContextAsync(database))
            {
                var result = await controller.Get(context);

                var statusCodeResult = Assert.IsType <StatusCodeResult>(result);
                Assert.Equal(StatusCodes.Status503ServiceUnavailable, statusCodeResult.StatusCode);
            }
        }
コード例 #4
0
        public async Task When_downloading_before_an_import()
        {
            var controller = new DownloadController(_fixture.MemoryStreamManager)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext()
                }
            };

            using (var context = await _fixture.CreateEmptyBackOfficeContextAsync(await _fixture.CreateDatabaseAsync()))
            {
                var result = await controller.Get(context);

                var statusCodeResult = Assert.IsType <StatusCodeResult>(result);
                Assert.Equal(StatusCodes.Status503ServiceUnavailable, statusCodeResult.StatusCode);
            }
        }