public async Task DeleteEpaRecord_InvalidFamilyName()
        {
            // arrange
            long   uln          = 1234567890;
            string lastname     = "INVALID";
            string standard     = "1";
            string epaReference = "1234567890";

            var expectedResponse = new ApiResponse
            {
                StatusCode = (int)HttpStatusCode.BadRequest,
                Message    = "Cannot find apprentice with the specified Uln, FamilyName & Standard"
            };

            _MockHttp.When(HttpMethod.Delete, $"{apiBaseAddress}/api/v1/epa/{uln}/{lastname}/{standard}/{epaReference}")
            .Respond(HttpStatusCode.BadRequest, "application/json", JsonConvert.SerializeObject(expectedResponse));

            // act
            var request = new DeleteEpaRequest {
                Uln = uln, FamilyName = lastname, Standard = standard, EpaReference = epaReference
            };
            var actual = await _ApiClient.DeleteEpaRecord(request);

            // assert
            Assert.That(actual.Error, Is.Not.Null);
            Assert.That(actual.Error.StatusCode, Is.EqualTo(expectedResponse.StatusCode));
            Assert.That(actual.Error.Message, Is.EqualTo(expectedResponse.Message));
        }
        public async Task DeleteEpaRecord_CertificateExists()
        {
            // arrange
            long   uln          = 1234567890;
            string lastname     = "Bloggs";
            string standard     = "1";
            string epaReference = "CERTIFICATE_EXISTS";

            var expectedResponse = new ApiResponse
            {
                StatusCode = (int)HttpStatusCode.BadRequest,
                Message    = "Certificate already exists, cannot delete EPA record"
            };

            _MockHttp.When(HttpMethod.Delete, $"{apiBaseAddress}/api/v1/epa/{uln}/{lastname}/{standard}/{epaReference}")
            .Respond(HttpStatusCode.BadRequest, "application/json", JsonConvert.SerializeObject(expectedResponse));

            // act
            var request = new DeleteEpaRequest {
                Uln = uln, FamilyName = lastname, Standard = standard, EpaReference = epaReference
            };
            var actual = await _ApiClient.DeleteEpaRecord(request);

            // assert
            Assert.That(actual.Error, Is.Not.Null);
            Assert.That(actual.Error.StatusCode, Is.EqualTo(expectedResponse.StatusCode));
            Assert.That(actual.Error.Message, Is.EqualTo(expectedResponse.Message));
        }
예제 #3
0
        public async Task <DeleteEpaResponse> DeleteEpaRecord(DeleteEpaRequest request)
        {
            var error = await Delete <ApiResponse>($"api/v1/epa/{request.Uln}/{request.FamilyName}/{request.Standard}/{request.EpaReference}");

            return(new DeleteEpaResponse
            {
                Uln = request.Uln,
                FamilyName = request.FamilyName,
                Standard = request.Standard,
                EpaReference = request.EpaReference,
                Error = error
            });
        }
        public async Task DeleteEpaRecord()
        {
            // arrange
            long   uln          = 1234567890;
            string lastname     = "Bloggs";
            string standard     = "1";
            string epaReference = "123456790";

            _MockHttp.When(HttpMethod.Delete, $"{apiBaseAddress}/api/v1/epa/{uln}/{lastname}/{standard}/{epaReference}")
            .Respond(HttpStatusCode.OK, "application/json", string.Empty);

            // act
            var request = new DeleteEpaRequest {
                Uln = uln, FamilyName = lastname, Standard = standard, EpaReference = epaReference
            };
            var actual = await _ApiClient.DeleteEpaRecord(request);

            // assert
            Assert.That(actual.Error, Is.Null);
        }
        public async Task DeleteEpaRecordExample()
        {
            long   uln          = 1234567890;
            string lastName     = "Blogs";
            string standard     = "1";
            string epaReference = "1234567890";

            DeleteEpaRequest epaToDelete = new DeleteEpaRequest
            {
                Uln          = uln,
                FamilyName   = lastName,
                Standard     = standard,
                EpaReference = epaReference
            };

            if (epaToDelete.IsValid(out _))
            {
                // NOTE: The External API performs validation, however it is a good idea to check beforehand
                await _EpaApiClient.DeleteEpaRecord(epaToDelete);
            }
        }