Embroidery

Embroidery is the art of decorating fabric or other materials with designs using thread or yarn along with a needle. Embroidery may also use other materials such as metal strips, pearls, beads, quills, and sequins.

 

Machine embroidery is performed by special machines which automatically create a design from a pre-made pattern that is fed into the machine. Most embroidery machines are operated through computers that read digitized embroidery files created by special software.

 

In Machine embroidery, the designs are "digitized" with Embroidery Software. Almost all basic types of embroidery can be created with Machine Embroidery. These include: Applique, Free Standing Lace, Cutwork, Cross-stitch, Photo Stitch, and Basic Embroidery. Most often this type of embroidery is associated with business shirts, gifts, team apparel and commercial use.

 

Some embroidery machines are specifically built for industrial purposes. These are tough and can do several stitches in short span of time. Those who are into the embroidery business, should make themselves aware of the newest technologies and designs available as the fast changing fashion makes designs old very fast. The newest technology does not always demand a new machine. Instead new software design can be installed according to the requirements. Many of the softwares designed for embroidery lets a person change an image in digital form to a pattern for embroidery that can be uploaded on the machine.

1.patternType的id写死 这个不会变的 2.不需要使用生成器 3.setUp会使有些函数重复执行 4.测试选用的数据不要都用[0],random随机生成 5.收藏确认断言是收藏的是否是我想要收藏的 class TestPHMutationRegisterFavorite(unittest.TestCase): def setUp(self): self._query_ran=False self._mutation_run=False # self._f_pattern_Id=None # self._article_Id=None # self._font_Id=None def test_query_me_nonexistent_favoritePatterns(self): client = create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) query = gql( """ query{ me{ favoritePatterns{ id name } } } """ ) try: query_result = client.execute(query) f_pattern = query_result['me']['favoritePatterns'] self.assertIn('id',f_pattern[0]) self.assertIn('name',f_pattern[0]) except Exception as e: print(f":{str(e)}") self._query_ran=True def test_mutation_RegisterFavorite(self): if not self._query_ran: self.test_query_me_nonexistent_favoritePatterns() client = create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) query_f = gql( """ query{ me{ favoritePatterns{ id name } } } """ ) query_f_result = client.execute(query_f) f_pattern = query_f_result['me']['favoritePatterns'] self._f_pattern_Id = f_pattern[0]['id'] query = gql( """ mutation($favoritePatternId: ID!){ registerFavorite( favoritePatternIds:$favoritePatternId) } """ ) try: query_result = client.execute(query,variable_values={"favoritePatternId":self._f_pattern_Id}) re_fa=query_result['registerFavorite'] self.assertEqual(re_fa,True) self._mutation_run=True except Exception as e: print(f":{str(e)}") def test_query_check_favoritePatterns_after_update(self): if not self._mutation_run: self.test_query_me_nonexistent_favoritePatterns() client = create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) query = gql( """ query{ me{ favoritePatterns{ id name } } } """ ) try: query_result = client.execute(query) f_pattern = query_result['me']['favoritePatterns'] self.assertIn('id',f_pattern[0]) self.assertIn('name',f_pattern[0]) except Exception as e: print(f":{str(e)}") def test_mutation_RegisterFavorite_article(self): client = create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) query_a = gql( """ query{ articleTypes{ id } } """ ) query_a_result = client.execute(query_a) a_pattern = query_a_result['articleTypes'] a_pattern_Id = a_pattern[0]['id'] query_a_i=gql( """ query($articleId: ID!){ articlesByArticleTypeId(articleTypeId: $articleId){ id } } """ ) query_a_i_result = client.execute(query_a_i,variable_values={"articleId":a_pattern_Id}) a_pattern = query_a_i_result['articlesByArticleTypeId'] self._article_Id = a_pattern[0]['id'] query = gql( """ mutation($ArticleId: ID!){ registerFavorite( favoritePatternIds:$ArticleId) } """ ) try: query_result = client.execute(query, variable_values={"ArticleId": self._article_Id}) re_fa = query_result['registerFavorite'] self.assertEqual(re_fa, True) except Exception as e: print(f":{str(e)}") def test_mutation_RegisterFavorite_article(self): client = create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) up_query = gql(""" mutation { updateUser(country: "US") { countryCode } } """) result_up_query=client.execute(up_query) self.assertNotEqual(result_up_query['updateUser']['countryCode'],"JP") query = gql(''' query { me { favoriteContents { __typename ... on Pattern { id } ... on Article { id } } } } ''') result = client.execute(query) favorite_contents=result['me']['favoriteContents'] for item in favorite_contents: if item['__typename'] == 'Pattern': self.assertIn('id' , item, "Pattern missing 'id'") elif item['__typename'] == 'Article': self.assertIn('id' , item, "Article missing 'id'") def test_mutation_RegisterFavorite_favorite_font(self): client = create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) pattern_type_query = gql(''' query { patternTypes { id name } } ''') pattern_type_result = client.execute(pattern_type_query) pattern_types = pattern_type_result['patternTypes'] # 查找 "Embroidery Fonts" 的 id embroidery_font_type = next((item for item in pattern_types if item['name'] == 'Embroidery Fonts'), None) pattern_type_id = embroidery_font_type['id'] # 2. fonts_query = gql(''' query($patternTypeId: ID!) { fontsByPatternTypeId(patternTypeId: $patternTypeId) { id name } } ''') fonts_data = client.execute(fonts_query, variable_values={"patternTypeId": pattern_type_id}) fonts = fonts_data['fontsByPatternTypeId'] self.assertGreater(len(fonts), 0, "No fonts found for Embroidery Fonts") self._font_Id = fonts[0]["id"] # 3 register_favorite_mutation = gql(''' mutation($favoritePatternId: ID!) { registerFavorite(favoritePatternIds: [$favoritePatternId]) } ''') mutation_result = client.execute(register_favorite_mutation, variable_values={"favoritePatternId": self._font_Id}) self.assertTrue(mutation_result['registerFavorite'], "registerFavorite did not return true") def test_query_RegisterFavorite_font(self): client = create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) up_query = gql(""" mutation { updateUser(country: "US") { countryCode } } """) result_up_query = client.execute(up_query) self.assertNotEqual(result_up_query['updateUser']['countryCode'], "JP") query = gql( """ query{ me{ favoriteFonts{ id } }} """ ) query_result = client.execute(query) favorite_cont = query_result['me']['favoriteFonts'] # print(favorite_cont) # 指定的字段会被输出确认通过变更指定的ID的数据已被注册在最前面 # favoriteFonts # ": [ # { # "id": "1662f7dc-281a-4f42-b674-b10caab3bb16"最新 # }, # { # "id": "eef41083-4e78-4671-aea1-50fdb15c492c"上一个使用的fontid # } self.assertIn('id', favorite_cont[0]) # self.assertNotEqual(favorite_cont[0],) def test_mutation_RegisterFavorite_article_pattern(self): client = create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) # 1. articleTypes 的 id query_a = gql(""" query { articleTypes { id } } """) query_a_result = client.execute(query_a) a_pattern = query_a_result['articleTypes'] a_pattern_Id = a_pattern[0]['id'] # 2. articleId query_a_i = gql(""" query($articleId: ID!) { articlesByArticleTypeId(articleTypeId: $articleId) { id } } """) query_a_i_result = client.execute(query_a_i, variable_values={"articleId": a_pattern_Id}) a_pattern_list = query_a_i_result['articlesByArticleTypeId'] article_Id = a_pattern_list[0]['id'] # 3. Fonts" 的 id pattern_type_query = gql(""" query { patternTypes { id name } } """) pattern_type_result = client.execute(pattern_type_query) pattern_types = pattern_type_result['patternTypes'] embroidery_font_type = next( (item for item in pattern_types if item['name'] == 'Embroidery Fonts'), None ) self.assertIsNotNone(embroidery_font_type, "PatternType 'Embroidery Fonts' not found") pattern_type_id = embroidery_font_type['id'] # 4. fontId fonts_query = gql(""" query($patternTypeId: ID!) { fontsByPatternTypeId(patternTypeId: $patternTypeId) { id name } } """) fonts_data = client.execute(fonts_query, variable_values={"patternTypeId": pattern_type_id}) fonts = fonts_data['fontsByPatternTypeId'] self.assertGreater(len(fonts), 0, "No fonts found for Embroidery Fonts") font_Id = fonts[0]['id'] register_favorite_mutation = gql( """ mutation($favoritePatternIds: [ID!]!) { registerFavorite(favoritePatternIds: $favoritePatternIds) } """ ) mutation_result = client.execute( register_favorite_mutation, variable_values={"favoritePatternIds": [article_Id, font_Id]} ) success = mutation_result['registerFavorite'] self.assertTrue(success, "registerFavorite did not return true") def test_mutation_RegisterFavorite_article_pattern_on(self): client=create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) up_query = gql(""" mutation { updateUser(country: "US") { countryCode } } """) result_up_query = client.execute(up_query) self.assertNotEqual(result_up_query['updateUser']['countryCode'], "JP") query = gql(''' query { me { favoriteContents { __typename ... on Pattern { id } ... on Article { id } } } } ''') result = client.execute(query) favorite_contents=result['me']['favoriteContents'] for item in favorite_contents: if item['__typename'] == 'Pattern': self.assertIn('id' , item, "Pattern missing 'id'") elif item['__typename'] == 'Article': self.assertIn('id' , item, "Article missing 'id'") def test_mutation_RegisterFavorite_nonexistent_id(self): client=create_graphql_client(GRAPHQL_ENDPOINT_URL, REQUEST_HEADER) query=gql( """ mutation{ registerFavorite( favoritePatternIds:"eef41083-4e78-4671-aea1")#不存在的 } """) try: query_result = client.execute(query) except Exception as e: self.assertEqual(e.errors[0]['extensions']['errorCode'], 400, 'errorCode不符合预期') self.assertEqual(e.errors[0]['extensions']['subCode'], 1210, 'subCode不符合预期')
08-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值