Esempio n. 1
0
        public void ItHandlesGetAllInstruments()
        {
            // Arange
            var instruments = IranianMusicIstrumentsRepository.GetAllFormal();

            //Mocking ProviderService
            //1-Provider State
            //2-Description for Specified Provider State
            //3-Specifing the Request
            //4-The Desired Response for Specified Request

            _mockProviderService
            .Given("Get All Instruments")
            .UponReceiving("A valid GET request for all Instruments with successfully response")
            .With(new ProviderServiceRequest
            {
                Method = HttpVerb.Get,
                Path   = "/api/Instrument"
            })
            .WillRespondWith(new ProviderServiceResponse
            {
                Status  = 200,
                Headers = new Dictionary <string, object>
                {
                    { "Content-Type", "application/json; charset=utf-8" }
                },
                Body = new
                {
                    message = "",
                    result  = "Suucess",
                    data    = instruments
                }
            });

            // Act
            var result = HttpUtility.GetAllInstruments(_baseUri)
                         .GetAwaiter()
                         .GetResult();

            var resultBodyText = result.Content.ReadAsStringAsync()
                                 .GetAwaiter()
                                 .GetResult();
            var deserializeObject = JsonConvert.DeserializeObject <ResponseVM>(resultBodyText);

            // Assert
            Assert.Equal(instruments.Count, deserializeObject.data.Count); //Very simple assertion to assert if response message contains expected result.
        }