Esempio n. 1
0
        public async Task <ActionResult <List <WebsiteOutputModel> > > GetWebsites([FromQuery] GetWebsites getWebsites)
        {
            OperationResult <List <WebsiteOutputModel> > getWebsitesOperation = await Mediator.Send(getWebsites);

            if (getWebsitesOperation.IsSuccessful)
            {
                getWebsitesOperation.Result.ForEach(x => x.Image.DownloadLink = Url.Link("GetImage", new { websiteId = x.Id }));

                return(Ok(getWebsitesOperation.Result));
            }

            return(Errors(getWebsitesOperation.Errors));
        }
Esempio n. 2
0
        public async Task HandleAsync_WithCorrectCommand_ShouldUpdateWebsites()
        {
            // Arrange
            SeedWebsites();

            IServiceScope scope   = CreateScope();
            var           handler = scope.ServiceProvider.GetService <IRequestHandler <GetWebsites, OperationResult <List <WebsiteOutputModel> > > >();

            // Act
            var request = new GetWebsites {
                PageNumber = 1, PageSize = 3, OrderBy = string.Empty
            };
            var getWebsitesOperation = await handler.Handle(request, CancellationToken.None);

            // Assert
            getWebsitesOperation.Result.Count.Should().Be(2);
            getWebsitesOperation.IsSuccessful.Should().BeTrue();
            getWebsitesOperation.Errors.Should().BeNull();
            getWebsitesOperation.Should().BeOfType(typeof(OperationResult <List <WebsiteOutputModel> >));

            WebsiteOutputModel actualWebsite = getWebsitesOperation.Result.SingleOrDefault(w => w.Url == "www.mysite.com");

            actualWebsite.Name.Should().Be("myWebsite");
            actualWebsite.Url.Should().Be("www.mysite.com");
            actualWebsite.Categories.Count.Should().Be(2);
            actualWebsite.Categories[0].Should().Be("category 1");
            actualWebsite.Categories[1].Should().Be("category 2");
            actualWebsite.Image.Name.Should().Be("myImage.png");
            actualWebsite.Login.Email.Should().Be("*****@*****.**");
            actualWebsite.Login.Password.Should().Be("123456");

            WebsiteOutputModel actualWebsite1 = getWebsitesOperation.Result.SingleOrDefault(w => w.Url == "www.mysite1.com");

            actualWebsite1.Name.Should().Be("myWebsite1");
            actualWebsite1.Url.Should().Be("www.mysite1.com");
            actualWebsite1.Categories.Count.Should().Be(2);
            actualWebsite1.Categories[0].Should().Be("category 11");
            actualWebsite1.Categories[1].Should().Be("category 21");
            actualWebsite1.Image.Name.Should().Be("myImage1.png");
            actualWebsite1.Login.Email.Should().Be("*****@*****.**");
            actualWebsite1.Login.Password.Should().Be("123456");
        }