예제 #1
0
        public static void ExpectSuccess(StudyCreateDto createRequest, ApiResponseWrapper <StudyDetailsDto> responseWrapper)
        {
            ApiResponseBasicAsserts.ExpectSuccess <StudyDetailsDto>(responseWrapper);

            Assert.NotEqual <int>(0, responseWrapper.Content.Id);
            Assert.Equal(createRequest.Name, responseWrapper.Content.Name);
            Assert.Equal(createRequest.Vendor, responseWrapper.Content.Vendor);
            Assert.Equal(createRequest.WbsCode, responseWrapper.Content.WbsCode);
        }
예제 #2
0
        static async Task <ApiConversation <StudyCreateDto, TResponse> > Create <TResponse>(RestHelper restHelper, string studyName = "studyName", string vendor = "Vendor", string wbsCode = "wbs")
        {
            var request = new StudyCreateDto()
            {
                Name = studyName, Vendor = vendor, WbsCode = wbsCode
            };
            var response = await restHelper.PostAsForm <TResponse, StudyCreateDto>("api/studies", "study", request);

            return(new ApiConversation <StudyCreateDto, TResponse>(request, response));
        }
예제 #3
0
        public async Task <IActionResult> CreateStudyAsync(
            [ModelBinder(BinderType = typeof(JsonModelBinder))] StudyCreateDto study,
            IFormFile image = null)
        {
            var createdStudy = await _studyCreateService.CreateAsync(study, image);

            var studyDetails = await _studyDetailsService.Get(createdStudy.Id);

            return(new JsonResult(studyDetails));
        }
예제 #4
0
        public async void FailIfStudyIsMissingVendor(string vendor)
        {
            await ClearTestDatabase();

            var studyCreateService = StudyServiceMockFactory.CreateService(_serviceProvider);

            var studyWithInvalidVendor = new StudyCreateDto()
            {
                Name   = "TestStudy",
                Vendor = vendor
            };

            await Assert.ThrowsAsync <ArgumentException>(() => studyCreateService.CreateAsync(studyWithInvalidVendor));
        }
예제 #5
0
        public async Task FailIfStudyIsMissingName(string name)
        {
            await ClearTestDatabase();

            var studyCreateService = StudyServiceMockFactory.CreateService(_serviceProvider);

            var studyWithInvalidName = new StudyCreateDto()
            {
                Name   = name,
                Vendor = "Bouvet"
            };

            await Assert.ThrowsAsync <ArgumentException>(() => studyCreateService.CreateAsync(studyWithInvalidName));
        }
예제 #6
0
        public async void CloseStudyAsync_ShouldClose_IfStudyExists()
        {
            await ClearTestDatabase();

            var studyDeleteService = StudyServiceMockFactory.DeleteService(_serviceProvider);

            var initialStudy = new StudyCreateDto()
            {
                Name   = "TestStudy12345",
                Vendor = "Equinor"
            };

            var studyCreateService = StudyServiceMockFactory.CreateService(_serviceProvider);
            var createdStudy       = await studyCreateService.CreateAsync(initialStudy);

            await studyDeleteService.CloseStudyAsync(createdStudy.Id);

            var studyReadService = StudyServiceMockFactory.StudyEfModelService(_serviceProvider);

            _ = await Assert.ThrowsAsync <NotFoundException>(() => studyReadService.GetByIdAsync(createdStudy.Id, UserOperation.Study_Read));
        }
예제 #7
0
        public async void UpdatingStudyDetailsWithoutRequiredFieldsShouldBeWellHandled(string name, string vendor)
        {
            await ClearTestDatabase();

            var studyCreateService = StudyServiceMockFactory.CreateService(_serviceProvider);

            var initialStudy = new StudyCreateDto()
            {
                Name   = "TestStudy12345",
                Vendor = "Equinor"
            };

            var createdStudy = await studyCreateService.CreateAsync(initialStudy);

            var studyWithoutReqFields = new StudyUpdateDto()
            {
                Name   = name,
                Vendor = vendor
            };

            var studyUpdateService = StudyServiceMockFactory.UpdateService(_serviceProvider);
            await Assert.ThrowsAsync <ArgumentException>(() => studyUpdateService.UpdateMetadataAsync(createdStudy.Id, studyWithoutReqFields));
        }