public async Task WhenTheMockupAPIIsCalled() { var mockup = new Mockup { design = design, product = new MockupProduct { id = AvailableProducts.gildan_cotton_t_shirt, color = "black" }, template = new Template { name = $"Template created at {DateTime.Now}", background = AvailableBackgrounds.brick }, output = new MockupOutput { width = 11, height = 8.5f, padding = 8, format = MockupOutputFormats.jpg } }; response = await apiClient.MockupAPI.CreateMockupAsync(mockup).ConfigureAwait(false); }
public void AutoMock() { var mockup = new Mockup(); var testInterface = mockup.Get <ITestInterface>(); Assert.False(testInterface.DoSomething()); }
public static Mockup AddCommonMockups(this Mockup mockup, ITestOutputHelper output) { mockup.MockServiceCollection.AddThreaxProcessHelper(o => { o.IncludeLogOutput = false; o.DecorateProcessRunner = r => new SpyProcessRunner(r) { Events = new ProcessEvents() { ErrorDataReceived = (o, e) => { if (e.DataReceivedEventArgs.Data != null) { output.WriteLine(e.DataReceivedEventArgs.Data); } }, OutputDataReceived = (o, e) => { if (e.DataReceivedEventArgs.Data != null) { output.WriteLine(e.DataReceivedEventArgs.Data); } }, } }; }); mockup.MockServiceCollection.AddThreaxPwshShellRunner(); mockup.MockServiceCollection.AddSingleton <Config>(s => { var json = File.ReadAllText("config.json"); return(JsonSerializer.Deserialize <Config>(json)); }); return(mockup); }
/// <summary> /// Setup global shared mockups that can be used across may tests. /// </summary> /// <param name="mockup">The mockup class to configure.</param> /// <returns>The passed in mockup test.</returns> public static Mockup SetupGlobal(this Mockup mockup) { mockup.MockServiceCollection.AddTimeTracking(); mockup.MockServiceCollection.AddAppMapper(includeAutomapperConfig: true); mockup.Add <AppDbContext>(m => new AppDbContext(new DbContextOptionsBuilder <AppDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options)); mockup.Add <IIdentity>(m => CreateIdentity(Roles.DatabaseRoles())); mockup.Add <ClaimsPrincipal>(m => new ClaimsPrincipal(m.Get <IIdentity>())); mockup.Add <HttpContext>(m => new DefaultHttpContext() { User = m.Get <ClaimsPrincipal>() }); mockup.Add <IHttpContextAccessor>(m => new HttpContextAccessor() { HttpContext = m.Get <HttpContext>() }); mockup.Add <ControllerContext>(m => new ControllerContext() { HttpContext = m.Get <HttpContext>() }); return(mockup); }
public async Task <IHttpActionResult> PutMockup(int id, Mockup mockup) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != mockup.Id) { return(BadRequest()); } db.Entry(mockup).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MockupExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
/// <summary> /// Setup global shared mockups that can be used across may tests. /// </summary> /// <param name="mockup">The mockup class to configure.</param> /// <returns>The passed in mockup test.</returns> public static Mockup SetupGlobal(this Mockup mockup) { mockup.Add <IValidSchemaTypeManager>(s => { var mock = new Mock <IValidSchemaTypeManager>(); mock.Setup(i => i.IsValid(It.IsAny <Type>())).Returns(true); return(mock.Object); }); mockup.Add <EndpointDocJsonSchemaGenerator>(s => new EndpointDocJsonSchemaGenerator(HalcyonConvention.DefaultJsonSchemaGeneratorSettings, s.Get <IValueProviderResolver>(), s.Get <ISchemaCustomizerResolver>(), s.Get <IAutoTitleGenerator>())); mockup.Add <ISchemaBuilder>(s => new SchemaBuilder(s.Get <EndpointDocJsonSchemaGenerator>(), s.Get <IValidSchemaTypeManager>())); mockup.Add <SchemaJsonConverter>(m => new SchemaJsonConverter()); mockup.Add <JsonSerializerSettings>(s => { var settings = HalcyonConvention.DefaultJsonSerializerSettings; settings.Formatting = Formatting.Indented; //Use indented for tests, makes test files easier to read return(settings); }); mockup.Add <JsonSerializer>(s => JsonSerializer.Create(s.Get <JsonSerializerSettings>())); return(mockup); }
public static Mockup AddCommonMockups(this Mockup mockup, ITestOutputHelper output) { mockup.MockServiceCollection.AddThreaxProcessHelper(o => { o.IncludeLogOutput = false; o.DecorateProcessRunner = r => new SpyProcessRunner(r) { Events = new ProcessEvents() { ErrorDataReceived = (o, e) => { if (e.DataReceivedEventArgs.Data != null) { output.WriteLine(e.DataReceivedEventArgs.Data); } }, OutputDataReceived = (o, e) => { if (e.DataReceivedEventArgs.Data != null) { output.WriteLine(e.DataReceivedEventArgs.Data); } }, } }; }); mockup.MockServiceCollection.AddThreaxPwshShellRunner(); mockup.MockServiceCollection.AddThreaxProvisionAzCli(); return(mockup); }
public async Task <IHttpActionResult> GetMockup(int id) { Mockup mockup = await db.Mockup.FindAsync(id); if (mockup == null) { return(NotFound()); } return(Ok(mockup)); }
public async Task <IHttpActionResult> PostMockup(Mockup mockup) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Mockup.Add(mockup); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = mockup.Id }, mockup)); }
public async Task <IHttpActionResult> DeleteMockup(int id) { Mockup mockup = await db.Mockup.FindAsync(id); if (mockup == null) { return(NotFound()); } db.Mockup.Remove(mockup); await db.SaveChangesAsync(); return(Ok(mockup)); }
public void DiSingleton() { var mockup = new Mockup(); mockup.MockServiceCollection.TryAddSingleton <ITestInterface, TestImplementation>(); var testInterface = mockup.Get <ITestInterface>(); Assert.NotNull(testInterface); Assert.True(testInterface.DoSomething()); var testInterface2 = mockup.Get <ITestInterface>(); Assert.NotNull(testInterface2); Assert.True(testInterface2.DoSomething()); Assert.Equal(testInterface, testInterface2); //Make sure scoped is working, should get the same instance }
public void ManualMock() { var mockup = new Mockup(); mockup.Add <ITestInterface>(s => { var mock = new Mock <ITestInterface>(); mock.Setup(i => i.DoSomething()) .Returns(true); return(mock.Object); }); var testInterface = mockup.Get <ITestInterface>(); Assert.True(testInterface.DoSomething()); }
public void DiTransient() { var mockup = new Mockup(); mockup.MockServiceCollection.TryAddTransient <ITestInterface, TestImplementation>(); var testInterface = mockup.Get <ITestInterface>(); Assert.NotNull(testInterface); Assert.True(testInterface.DoSomething()); var testInterface2 = mockup.Get <ITestInterface>(); Assert.NotNull(testInterface2); Assert.True(testInterface2.DoSomething()); Assert.NotEqual(testInterface, testInterface2); //Make sure transient is working, should get two different instances }
/// <summary> /// Setup a IWebHost in the mocks. This will use the configuration files from the test project. /// </summary> /// <param name="mockup">The mockup class to configure.</param> /// <returns>The passed in mockup test.</returns> public static Mockup SetupWebHost(this Mockup mockup) { mockup.Add <IWebHost>(m => { var hostBuilder = new WebHostBuilder() .UseEnvironment("development") .UseKestrel() .UseStartup <Startup>() .ConfigureAppConfiguration(configuration => { configuration.Sources.Clear(); configuration.AddJsonFile("appsettings.json"); configuration.AddJsonFile("appsettings.Development.json"); }); return(hostBuilder.Build()); }); return(mockup); }
public void MockOverride() { //This test just uses exception classes due to easy inheritance //not because it actually is exception based var mockup = new Mockup(); mockup.Add <Exception>(s => { return(new InvalidCastException()); }); mockup.Add <Exception>(s => { return(new InvalidOperationException()); }); var test = mockup.Get <Exception>(); Assert.IsType <InvalidOperationException>(test); }
private void ListBoxMock_SelectionChanged(object sender, SelectionChangedEventArgs e) { ListBox tempListBox = (ListBox)sender; if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) { tempListBox.SelectionMode = SelectionMode.Multiple; // Save the first type of product string flagNameSelected = ""; var mockups = tempListBox.SelectedItems.Cast <Mockup>().ToList <Mockup>(); if (mockups.Count > 0) { flagNameSelected = mockups[0].MockupName.Split('-')[0]; } foreach (var item in tempListBox.Items.Cast <Mockup>().ToList <Mockup>()) { if (IsExistIn(item.MockupName, mockups)) { item.IsSelected = true; } else { item.IsSelected = false; } if (item.IsSelected) { ListMockupPicked.Add(new Mockup() { MockupName = item.MockupName, MockupSymbolPath = item.MockupSymbolPath, IsSelected = true }); } } // Remove if product is not selected for (int i = 0; i < ListMockupPicked.Count; i++) { string flagName = ListMockupPicked[i].MockupName.Split('-')[0]; if (!IsExistIn(ListMockupPicked[i].MockupName, mockups) && flagName == flagNameSelected) { ListMockupPicked.RemoveAt(i); } } ListMockupPicked = ListMockupPicked.Distinct(new ItemEqualityComparer()).Where(m => m.IsSelected).ToList(); if (mockups.Count > 0) { Mockup temp = mockups[0]; this.storage.BackgroundImage = temp.MockupSymbolPath; string mockName = temp.MockupName.Split('-')[0] + "-" + temp.MockupName.Split('-')[1]; var isExist = connection.Table <RenderConfig>().Where(acc => acc.Name == mockName).FirstOrDefault(); if (isExist != null) { Canvas.SetLeft(rectangle1, isExist.Left); Canvas.SetTop(rectangle1, isExist.Top); rectangle1.Width = isExist.Width; rectangle1.Height = isExist.Height; RectangleHeight.Value = isExist.Angle; image_rotate.Angle = isExist.Angle; canvas1.UpdateLayout(); } } } else { ListMockupPicked.Clear(); tempListBox.SelectionMode = SelectionMode.Single; if (tempListBox.SelectedItem != null) { Mockup temp = (Mockup)tempListBox.SelectedItem; this.storage.BackgroundImage = temp.MockupSymbolPath; string mockName = temp.MockupName.Split('-')[0] + "-" + temp.MockupName.Split('-')[1]; var isExist = connection.Table <RenderConfig>().Where(acc => acc.Name == mockName).FirstOrDefault(); if (isExist != null) { Canvas.SetLeft(rectangle1, isExist.Left); Canvas.SetTop(rectangle1, isExist.Top); rectangle1.Width = isExist.Width; rectangle1.Height = isExist.Height; RectangleHeight.Value = isExist.Angle; image_rotate.Angle = isExist.Angle; canvas1.UpdateLayout(); } } } if (ListMockupPicked.Count > 1) { ListColorPicker.Clear(); ListTypePicker.Clear(); for (int i = 0; i < ListMockupPicked.Count; i++) { string colorName = ListMockupPicked[i].MockupName.Split('-')[2]; string typeName = ListMockupPicked[i].MockupName.Split('-')[0]; if (!CheckColorIsExist(colorName)) { ListColorPicker.Add(new ColorPickerDTO() { ID = i, ColorName = colorName }); } if (!CheckTypeIsExist(typeName)) { ListTypePicker.Add(new TypePickerDTO() { ID = i, TypeName = typeName }); } } // Set source for datagrid gvTypePickers.ItemsSource = ListTypePicker; gvColorPickers.ItemsSource = ListColorPicker; // Refresh datagrid gvColorPickers.Items.Refresh(); gvTypePickers.Items.Refresh(); } else { ListColorPicker.Clear(); ListTypePicker.Clear(); gvColorPickers.Items.Refresh(); gvTypePickers.Items.Refresh(); } }
public async Task <MockupResponse> CreateMockupAsync(Mockup mockup) => await CallMultipartAPIAsync <MockupResponse>(typeof(MockupAPI), nameof(MockupAPI.CreateMockupAsync), mockup).ConfigureAwait(false);
private static Mockup SetupModel(this Mockup mockup) { mockup.Add <IValueRepository>(m => new ValueRepository(m.Get <AppDbContext>(), m.Get <AppMapper>())); return(mockup); }
private void Init() { // load settings opTbEmail.Text = Settings.Default.EMAIL; opTbPass.Text = Settings.Default.PASSWORD; opChbShowMockup.Checked = Settings.Default.SHOW_MOCKUP; // load products data from json ViralStyleDataController.Instance.LoadProductJson(); // get mockup names List <string> names = new List <string>(); for (int i = 0; i < viralMockupImageList.Images.Keys.Count; i++) { names.Add(viralMockupImageList.Images.Keys[i]); } // init mockup list flowLayoutMokcup.Controls.Clear(); if (opChbShowMockup.Checked) { var products = ViralStyleDataController.Instance.ViralStyleProduct; if (products != null) { string rootPath = Directory.GetCurrentDirectory() + "\\"; for (int i = 0; i < products.ProductData.Count; i++) { var product = products.ProductData[i]; for (int k = 0; k < product.category_products.Count; k++) { var proc = product.category_products[k].products; MockupInfo mockupInfo = new MockupInfo { ImagePath = rootPath + Settings.Default.ViralStyle_Mockup_Path + "\\" + proc.front_base, Name = proc.name, Colors = proc.product_colors.Select(p => p.hex).ToList(), Product = proc }; if (File.Exists(mockupInfo.ImagePath)) { Mockup mockup = new Mockup(mockupInfo); flowLayoutMokcup.Controls.Add(mockup); } } } } } //var pairs = ViralStyleDataController.Instance.GetMockupImagesbyNames(names); // load list view items //if(pairs.Count > 0) //{ // vsListView.Items.Clear(); // foreach (var key in pairs.Keys) // { // vsListView.Items.Add(new ListViewItem(pairs[key], key)); // } //} }
private static Mockup SetupModel(this Mockup mockup) { mockup.Add <IGitRepoRepository>(m => new GitRepoRepository(m.Get <IRepoFolderProvider>(), m.Get <IClonePathBuilder>(), m.Get <IProcessRunner>())); return(mockup); }