Exemplo n.º 1
0
        public async Task ReturnOfmQueryResultWithErrorMessages_UsingDelete()
        {
            await Task.Run(async() =>
            {
                // ARRANGE
                var categoryApiModelRepository =
                    new Mock <IApiModelRepository <int, CategoryOfmForGet, CategoryOfmForPost, CategoryOfmCollectionResourceParameters> >();
                var returnedOfmQueryResult = new OfmQueryResult <CategoryOfmForGet>()
                {
                    OfmForGet = null,
                    ErrorMessagesPresented = new Dictionary <string, object>()
                    {
                        {
                            "category",
                            new List <string>()
                            {
                                "No category found for id=1"
                            }
                        }
                    },
                    HttpStatusCode = HttpStatusCode.NotFound
                };
                categoryApiModelRepository.Setup(s => s.Delete(1)).ReturnsAsync(returnedOfmQueryResult);

                var categoryViewModelRepository =
                    new CategoryViewModelRepository(categoryApiModelRepository.Object);

                // ACT
                var ofmQueryResult = await categoryViewModelRepository.Delete(1);

                // Assert
                var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult,
                                                                       new JsonSerializerSettings()
                {
                    Formatting = Newtonsoft.Json.Formatting.Indented
                }).MinifyJson()
                                           .PrettifyJson();
                var expectedOfmQueryResult =
                    @"
                        {
                          ""ViewModel"": null,
                          ""HttpStatusCode"": 404,
                          ""HttpResponseHeaders"": null,
                          ""ErrorMessagesPresented"": {
                            ""category"": [
                              ""No category found for id=1""
                            ]
                          }
                        }
                    ".MinifyJson().PrettifyJson();

                Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult);
            });
        }
Exemplo n.º 2
0
        public async Task ReturnSuccessfulOfmQueryResult_UsingPost()
        {
            await Task.Run(async() =>
            {
                // ARRANGE
                var categoryApiModelRepository =
                    new Mock <IApiModelRepository <int, CategoryOfmForGet, CategoryOfmForPost, CategoryOfmCollectionResourceParameters> >();
                var returnedOfmQueryResult = new OfmQueryResult <CategoryOfmForGet>()
                {
                    OfmForGet = new CategoryOfmForGet()
                    {
                        Id   = 1,
                        Name = "CategoryMock"
                    },
                    HttpStatusCode = HttpStatusCode.Created
                };

                var categoryOfmForPost = new CategoryOfmForPost()
                {
                    Name = "CategoryMock"
                };

                categoryApiModelRepository.Setup(s => s.Post(categoryOfmForPost)).ReturnsAsync(returnedOfmQueryResult);

                var categoryViewModelRepository =
                    new CategoryViewModelRepository(categoryApiModelRepository.Object);

                // ACT
                var ofmQueryResult = await categoryViewModelRepository.Create(categoryOfmForPost);

                // Assert
                var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult,
                                                                       new JsonSerializerSettings()
                {
                    Formatting = Newtonsoft.Json.Formatting.Indented
                }).MinifyJson()
                                           .PrettifyJson();
                var expectedOfmQueryResult =
                    @"
                        {
                          ""ViewModel"": {
                            ""Id"": 1,
                            ""Name"": ""CategoryMock""
                          },
                          ""HttpStatusCode"": 201,
                          ""HttpResponseHeaders"": null,
                          ""ErrorMessagesPresented"": null
                        }
                    ".MinifyJson().PrettifyJson();

                Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult);
            });
        }
Exemplo n.º 3
0
        public async Task ReturnOfmQueryResultWithErrorMessages_UsingGetById()
        {
            await Task.Run(async() =>
            {
                using (var testAppConfiguration = new AppConfigurationMock(File.ReadAllText(
                                                                               Path.GetDirectoryName(typeof(Startup).GetTypeInfo().Assembly.Location) + "\\appsettings.json")))
                {
                    // ARRANGE
                    var categoryApiModelRepository =
                        new Mock <IApiModelRepository <int, CategoryOfmForGet, CategoryOfmForPost, CategoryOfmCollectionResourceParameters> >();
                    var returnedOfmQueryResult = new OfmQueryResult <CategoryOfmForGet>()
                    {
                        OfmForGet = null,
                        ErrorMessagesPresented = new Dictionary <string, object>()
                        {
                            {
                                "category",
                                new List <string>()
                                {
                                    "Some error message",
                                    "Some other error message"
                                }
                            }
                        },
                        HttpStatusCode = HttpStatusCode.BadRequest
                    };

                    categoryApiModelRepository.Setup(s => s.GetSingle(1)).ReturnsAsync(returnedOfmQueryResult);

                    var categoryViewModelRepository =
                        new CategoryViewModelRepository(categoryApiModelRepository.Object);

                    // ACT
                    var ofmQueryResult = await categoryViewModelRepository.GetById(1);

                    // Assert
                    var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult,
                                                                           new JsonSerializerSettings()
                    {
                        Formatting = Newtonsoft.Json.Formatting.Indented
                    })
                                               .MinifyJson()
                                               .PrettifyJson();
                    var expectedOfmQueryResult =
                        @"
                            {
                              ""ViewModel"": null,
                              ""HttpStatusCode"": 400,
                              ""HttpResponseHeaders"": null,
                              ""ErrorMessagesPresented"": {
                                ""category"": [
                                  ""Some error message"",
                                  ""Some other error message""
                                ]
                              }
                            }
                        ".MinifyJson().PrettifyJson();

                    Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult);
                }
            });
        }
Exemplo n.º 4
0
        public async Task ReturnOfmQueryResultWithErrorMessges_UsingPartiallyUpdate()
        {
            await Task.Run(async() =>
            {
                // ARRANGE
                var categoryApiModelRepository =
                    new Mock <IApiModelRepository <int, CategoryOfmForGet, CategoryOfmForPost, CategoryOfmCollectionResourceParameters> >();
                var returnedOfmQueryResult = new OfmQueryResult <CategoryOfmForGet>()
                {
                    OfmForGet = null,
                    ErrorMessagesPresented = new Dictionary <string, object>()
                    {
                        {
                            "category",
                            new List <string>()
                            {
                                "Some error message",
                                "Some other error message"
                            }
                        }
                    },
                    HttpStatusCode = HttpStatusCode.BadRequest
                };

                var categoryOfmForPost = new CategoryOfmForPost()
                {
                    Name = "CategoryMock"
                };

                categoryApiModelRepository.Setup(s => s.Patch(1, It.IsAny <JsonPatchDocument>())).ReturnsAsync(returnedOfmQueryResult);

                var categoryViewModelRepository =
                    new CategoryViewModelRepository(categoryApiModelRepository.Object);

                // ACT
                var ofmQueryResult = await categoryViewModelRepository.PartiallyUpdate(1, new JsonPatchDocument());

                // Assert
                var actualOfmQueryResult = JsonConvert.SerializeObject(ofmQueryResult,
                                                                       new JsonSerializerSettings()
                {
                    Formatting = Newtonsoft.Json.Formatting.Indented
                }).MinifyJson()
                                           .PrettifyJson();
                var expectedOfmQueryResult =
                    @"
                        {
                          ""ViewModel"": null,
                          ""HttpStatusCode"": 400,
                          ""HttpResponseHeaders"": null,
                          ""ErrorMessagesPresented"": {
                            ""category"": [
                              ""Some error message"",
                              ""Some other error message""
                            ]
                          }
                        }
                    ".MinifyJson().PrettifyJson();

                Assert.AreEqual(actualOfmQueryResult, expectedOfmQueryResult);
            });
        }